1. cat
cat 命令用于连接文件并打印到标准输出设备上。
1.1. 参数说明:
- -n 或 --number:由 1 开始对所有输出的行数编号。
- -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
- -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
以下参数在Mac下与在Linux有较大不同:
- -E 或 --show-ends : 在每行结束处显示 $。
- -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项;
- -t:等价于"-vT"选项;
1.2. 常用例子:
1.2.1. 把文件夹内所有文件的内容合并到一个文件
cat ./* > merge.txt
1.2.2. 带行号输出
cat -n a.txt # 包含空白行
cat -b a.txt # 不包含空白行,但如果行中包含空白字符,譬如空格,仍会输出行号。
2. more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读。最原始的版本无法前向翻阅,但较新的版本已允许前向翻阅。
2.1. 参数说明:
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
2.2. 动作说明:
- Enter 向下n行,需要定义。默认为1行
- f 或 Ctrl+f 或 空格键 或 [pagedown] 向下翻一页
- d 向下翻半页
- [down] 向下滚动一行
- b 或 Ctrl+b 或 [pageup] 往上翻一页
- u 向上翻半页
- y 或 [up] 向上滚动一行
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- v 调用vi编辑器
- ! 命令 调用Shell,并执行命令
- h 显示帮助界面
- q 退出more
- /xxx 向下搜索xxx
- ?xxx 向上搜索xxx
- n 重复前一个搜索
- N 反向重复前一个搜索
2.3. 常用例子:
more a.txt
more +10 a.txt # 从第10行开始显示
more +/xxx a.txt # 从第一次出现xxx处开始显示
3. less
less 与 more 的区别:
使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,"less is more"。(较新的more版本已经允许前向翻阅。)- less不必读整个文件,加载速度会比more更快。
具体用法与more
语句类似。
4. tail
tail 命令可用于查看文件末尾的内容。
4.1. 参数说明:
- -f 循环读取
- -v 显示详细的处理信息
- -c<数目>数目> 显示的字节数
- -n<行数>行数> 显示文件的尾部 n 行内容
- --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部(当指定了多个文件时,在内容的前面会以文件名作为开头)
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
4.2. 常用例子:
tail xxx.log # 默认显示文档最后10行
tail -100 xxx.log # 显示文档最后100行
tail -n -100 xxx.log # 显示除了文档前99行的内容
tail -n +100 xxx.log # 从第100行开始显示
tail -c 100 xxx.log # 显示文档最后10个字符
tail -f xxx.log # 文件末尾添加新内容时,立刻显示出来,常用于监视日志文件
5. head
head 命令可用于查看文件开头的内容。
5.1. 参数说明:
- -v 显示详细的处理信息
- -c<数目>数目> 显示的字节数
- -n<行数>行数> 显示文件的头部 n 行内容
- -q, --quiet, --silent 从不输出给出文件名的首部(当指定了多个文件时,在内容的前面会以文件名作为开头)
5.2. 常用例子:
head xxx.txt # 默认显示文档开头10行
head -100 xxx.txt # 显示文档开头100行
head -n -100 xxx.txt # 显示除了文档最后99行的内容
head -c 100 xxx.txt # 显示文档开头10个字符