一丶常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 | more 文件名 | more | 分屏显示文件内容 |
03 | grep 搜索文本 文件名 | grep | 搜索文本文件内容 |
前两个是查看文件内容,最后一个是搜索文件内容
1.cat命令演示以及常用选项
cat 跟 more 命令
cat 123.txt
more 123.txt
在123.txt内容不多的情况下,一样显示. 如果123.txt文件内容.超过了一页.那么使用more则会提示你
已经显示了多少.后面还有多少.只需要按空格键继续显示才可以.
查看文件内容少, 使用cat 查看内容多的,使用more
more因为是分页显示.所以有操作键, 跟man一样的
使用 more
的操作键:
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
cat不光可以查看文件,还可以合并文件,创建文件,追加文件..所以不要把两个命令混为一谈.
cat选项
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-b 选项就是显示行号,非空行不加行号
-n 选项就是显示所有行号.
如下
2.grep 搜索命令的使用
1.grep基本使用以及选项.
grep 可以搜索我们文件的内容
- Linux 系统中
grep
命令是一种强大的文本搜索工具 grep
允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
简单使用
grep 要被搜索的字符串 文件
意思就是在文件中列出你给定串的所有内容
grep a 1.txt
在1.txt中查找a. 列出所有包含a的行.
我们也可以加选项,如-n 可以显示行号了.(不加不显示) -i 忽略大小写 -v显示不包含你输入的串的行.
加选项
我们说过,linux支持命令链接. 也就是选项可以合并
-in 意思就是 -i -n 忽略大小写,并且输出添加行号.
那么相应的-inv 选项就是显示不包含串的行,并且添加行号.
如下:
如果搜索一串内容,需要加上引号包含.
如:
grep "Hello World" 1.txt
搜索Hello Word 在1.txt中查找.
2.grep 行首/尾 模糊查找.
grep中常用的模糊查找.
如日常生活中,查找的时候. 我们要指定一个串必须出现在 行首,或者行尾.
也就是以什么什么开头的一行.我们要进行查找.
- 常用的两种模式查找
参数 | 含义 |
---|---|
^a | 行首,搜寻以 a 开头的行 |
ke$ | 行尾,搜寻以 ke 结束的行 |
如下:
查询以 1开头的行,以及s结尾的行.
3.echo 以及 重定向的使用
echo 可以输出在终端一句话.不过不单独使用.一般配合重定向将输入的内容写入到文件或追加到文件
下面介绍下什么是重定向,以及echo
echo
会在终端中显示参数指定的文字,通常会和 重定向 联合使用
1. 重定向 >
和 >>
- Linux 允许将命令执行结果 重定向到一个 文件
- 将本应显示在终端上的内容 输出/追加 到指定文件中
其中
>
表示输出,会覆盖文件原有的内容>>
表示追加,会将内容追加到已有文件的末尾
如我们使用echo
echo HelloWorld > 2.txt
那么就是将本应该显示到终端的HelloWorld 写入到2.txt当中.
4.管道概念
不知道大家有没有这样过. 假设文件有内容.我们使用cat 查看一下. 但是我们本意不是查看.而是
查找这个文件的内容.但是我们不知道查找什么,所以必须查看一下.
cat xxxx grep xxx xxx
那么有没有办法可以让输入的内容作为输入结果给另一个命令使用那? 这个就是管道的概念.
- Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
- 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里
|
的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
more
:分屏显示内容grep
:在命令执行结果的基础上查询指定的文本
命令如下演示:
cat 123.txt | grep s
这个命令的意思就是 cat 123.txt输出的内容.作为输入给grep使用.
在grep命令中使用.
其实管道命令就是对命令的第一次输出 做一个二次处理.使用另一个命令进行处理.