cat命令
2020-08-10 记录
文件和目录管理类命令
文本处理程序cat,concatenate的简写(vt.连接)
cat命令可以显示文本文件的内容,也可以连接多个文件的内容并打印到标准输出设备上。
1 [root@19:07:22 ~]$cat [选项] 文件名 2 [root@19:09:10 ~]$cat 文件1 文件2 > 文件3
前者用于显示文件内容,后者用于连接合并文件。
cat命令会一次性显示文件的内容,如果文件很大,用cat自然不合适,翻页都麻烦呢,可以使用less程序或more程序。
显示文件内容
常用选项:
-n或--number,给输出加上行数编号。
-b或--number-nonblank,类似于-n选项,不过部队空白行进行编号。
-s或--squeeze-blank,遇到连续2行以上的空白行就转为一行的空白行。
-A,等价于-vET,打印出所有特殊字符。
-e,等价于-vE,类似于-A,但是不打印制表符。
-t,等价于-vT,行尾不显示“$”。
-v,显示非打印字符。
-E,在行尾显示“$”。
-T,把制表符显示为"^I"。
很明显,-e,-t选项是-A选项的子集。
假设有一个文件为test,其内容如下:
abcd efg 1234 555
现在直接用cat命令显示文件的内容:
[root@19:23:34 ~]$cat test abcd efg 1234 555
显示行号:
[root@19:25:11 ~]$cat -n test 1 abcd efg 2 3 4 1234 5 555
不给空白行编号:
[root@19:25:49 ~]$cat -b test 1 abcd efg 2 1234 3 555
只显示一个空白行:
[root@19:26:32 ~]$cat -s test abcd efg 1234 555
打印所有特殊字符:
[root@19:27:10 ~]$cat -A test ^Iabcd efg$ $ $ 1234$ ^I555$
用cat连接文件
假设有2个文件file1和file2,其内容分别为:
hello world
it's a nice day!
现在把这2个文件的内容合并到file3里:
[root@19:31:09 ~]$cat file1 file2 > file3 [root@19:31:42 ~]$cat file3 hello world it's a nice day!