Cat(concatenate) 命令在 Linux 中非常常用。它从文件中读取数据并将其内容作为输出。
# cat rumenz.txt
cat
读取多个文件输出# cat rumenz.txt rumenz1.txt rumenz2.txt
cat
读取多个文件内容保存到另外一个文件# cat rumenz.txt rumenz1.txt rumenz2.txt > rumenz10.txt
cat
读取多个文件内容保存到另外一个文件,通过使用附加重定向,追加到文件末尾
# cat rumenz3.txt >> rumenz10.txt
这
cat
命令可用于将文件的内容复制到新文件。新文件可以任意重命名。例如,将文件从当前位置复制到/tmp/
目录。
# cat rumenz.txt > /tmp/rumenz.txt
将文件从当前位置复制到
/tmp/
目录并更改其名称。
# cat rumenz.txt > /tmp/a.txt
使用较少
cat
命令是使用以下语法创建一个新文件。完成编辑文件后,点击CTRL+D
保存并退出新文件。
# cat > rumenz.txt
要对文件的所有输出行(包括空行)进行编号,请使用
-n
开关。
# cat -n rumenz.txt
要仅显示每个非空行的编号,请使用
-b
开关。
# cat -b rumenz.txt
tac
实际上是cat
命令的反向拼写,将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示
# tac rumenz.txt
该命令最重要的选项之一由
-s
开关表示,它根据字符串或关键字将文件的内容与文件分开。
# cat rumenz.txt
1
2
3
4
5
6
7
8
9
10
# tac rumenz.txt --separator "5"
6
7
8
9
10
1
2
3
4
5
5之后的行正序显示,5之前(包括5行)的行倒序显示
tac
命令它可以将日志最新的内容最先显示,方便我们查看
$ tac /var/log/messages
$ tail /var/log/messages | tac
Nov 14 21:06:30 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:30Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:06:20 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:20Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:06:10 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:10Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:06:00 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:00Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:05:50 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:50Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:05:40 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:40Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):
Nov 14 21:05:30 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:30Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
te metric (will be dropped: 401 Unauthorized):