将[文件]或标准输入组合输出到标准输出。
cat 命令连接文件并打印到标准输出设备上,经常用来显示整个文件的内容。cat 只能查看文本内容的文件,如查看二进制文件,则屏幕会显示乱码。另外,cat 还可以用来创建文件、合并文件等。
用法:cat [选项] [文件]...
将文件列表中的文件或标准输入连接到标准输出。
-A, --show-all
等价于 -vET 。
-b, --number-nonblank
给非空输出行编号。
-e 等价于 -vE 。
-E, --show-ends
在每行结束显示 $ 。
-n, --number
给所有输出行编号。
-s, --squeeze-blank
将所有的连续的多个空行替换为一个空行。
-t 等价于 -vT 。
-T, --show-tabs
把 TAB 字符显示为 ^I 。
-u (被忽略的选项)
-v, --show-nonprinting
除了 LFD 和 TAB 之外所有控制符用 ^ 和 M- 记方式显示。
--help 显示帮助并退出。
--version
显示版本信息并退出。
没有指定文件或指定的文件是 -,则从标准输入读取。
4.1 查看文件的内容
[deng@localhost test]$ cat /etc/passwd
4.2 查看文件的内容,并显示行数编号
[deng@localhost test]$ cat -n /etc/passwd
4.3 查看文件的内容,并添加行数编号后输出到另外一个文件中
[deng@localhost test]$ cat -n /etc/passwd > file.txt
4.4 清空文件的内容
[deng@localhost test]$ cat /dev/null > file.txt
[deng@localhost test]$ cat file.txt
[deng@localhost test]$
4.5 持续写入文件内容,碰到EOF符后结束并保存
[deng@localhost test]$ cat > file.txt
hello itcat
黑马程序员
EOF
[deng@localhost test]$
4.6 将软盘设备制作成镜像文件
[deng@localhost test]$ cat /dev/fd0 > disk.iso
4.7 将所有的连续的多个空行替换为一个空行
有时候文件中空行会很多,如果要将多个空行合并为一个,使用 -s
选项。
[deng@localhost test]$ cat -s file.txt
4.8 将所有的连续的多个空行替换为一个空行,并且所有输出行编号
[deng@localhost test]$ cat -ns file.txt
1 hello itcat
2
3 黑马程序员
4
5 EOF
[deng@localhost test]$
4.9 对非空输出行编号
若要对非空行进行编号,空行不编号,使用 -b
选项。
[deng@localhost test]$ cat -b file.txt
1 hello itcat
2 黑马程序员
3 EOF
[deng@localhost test]$
4.10 在每行结束处显示 $
[deng@localhost test]$ cat -E file.txt
hello itcat$
$
$
$
黑马程序员$
$
EOF$
[deng@localhost test]$
4.11 合并文件内容
[deng@localhost test]$ cat /etc/passwd a.txt > file.txt
4.12 创建新文件
按 Ctrl-D结束
[deng@localhost test]$ cat > test.sh
#!/bin/bash
echo "hello world"
[deng@localhost test]$
4.13 复制文件
使用 cat 还可以复制文件,包括文本文件、二进制文件或 ISO 光盘文件等。
[deng@localhost test]$ cat file.txt > file1.txt
[deng@localhost test]$ md5sum file.txt file1.txt
aaa72d9a30499cc66e1325f3699bf5f6 file.txt
aaa72d9a30499cc66e1325f3699bf5f6 file1.txt
[deng@localhost test]$
4.14 插入多行
将制定内容添加的文件 jackonill.txt 当中,当输入EOF后命令结束。
注意:EOF可用其他字符代替。
[deng@localhost test]$ cat >> file.txt << EOF
> 黑马程序员
> 传智播客
> 传智汇
> EOF
[deng@localhost test]$
温馨提示
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
参考:【Linux】一步一步学Linux系列教程汇总