linux中你知道的cat和不知道tac查看文件

  • cat 正向读取文件
  • tac 反向读取文件

Linux中cat命令的基本用法

Cat(concatenate) 命令在 Linux 中非常常用。它从文件中读取数据并将其内容作为输出。

  1. # cat rumenz.txt

cat 读取多个文件输出

  1. # cat rumenz.txt rumenz1.txt rumenz2.txt

cat 读取多个文件内容保存到另外一个文件

  1. # cat rumenz.txt rumenz1.txt rumenz2.txt > rumenz10.txt

文件追加

cat 读取多个文件内容保存到另外一个文件,通过使用附加重定向,追加到文件末尾

  1. # cat rumenz3.txt >> rumenz10.txt

复制文件

cat命令可用于将文件的内容复制到新文件。新文件可以任意重命名。例如,将文件从当前位置复制到/tmp/目录。

  1. # cat rumenz.txt > /tmp/rumenz.txt

将文件从当前位置复制到/tmp/目录并更改其名称。

  1. # cat rumenz.txt > /tmp/a.txt

创建文件

使用较少 cat命令是使用以下语法创建一个新文件。完成编辑文件后,点击CTRL+D保存并退出新文件。

  1. # cat > rumenz.txt

打印行号

要对文件的所有输出行(包括空行)进行编号,请使用-n开关。

  1. # cat -n rumenz.txt

要仅显示每个非空行的编号,请使用-b开关。

  1. # cat -b rumenz.txt

tac 命令

tac实际上是cat命令的反向拼写,将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示

  1. # tac rumenz.txt

该命令最重要的选项之一由-s开关表示,它根据字符串或关键字将文件的内容与文件分开。

  1. # cat rumenz.txt
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. # tac rumenz.txt --separator "5"
  13. 6
  14. 7
  15. 8
  16. 9
  17. 10
  18. 1
  19. 2
  20. 3
  21. 4
  22. 5

5之后的行正序显示,5之前(包括5行)的行倒序显示

tac命令它可以将日志最新的内容最先显示,方便我们查看

  1. $ tac /var/log/messages
  2. $ tail /var/log/messages | tac

输出

  1. Nov 14 21:06:30 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:30Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  2. te metric (will be dropped: 401 Unauthorized):
  3. Nov 14 21:06:20 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:20Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  4. te metric (will be dropped: 401 Unauthorized):
  5. Nov 14 21:06:10 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:10Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  6. te metric (will be dropped: 401 Unauthorized):
  7. Nov 14 21:06:00 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:06:00Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  8. te metric (will be dropped: 401 Unauthorized):
  9. Nov 14 21:05:50 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:50Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  10. te metric (will be dropped: 401 Unauthorized):
  11. Nov 14 21:05:40 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:40Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  12. te metric (will be dropped: 401 Unauthorized):
  13. Nov 14 21:05:30 iZuf6g17lg7nixe3uwrgxiZ telegraf: 2021-11-14T13:05:30Z E! [outputs.influxdb] E! [outputs.influxdb] Failed to wri
  14. te metric (will be dropped: 401 Unauthorized):

返回笔记列表
入门小站