简介

tail命令默认将每个文件的最后10行打印到标准输出。对于多个文件,在每个文件前面加上一个给出文件名的头。如果没有文件,或者文件为**-**,则读取标准输入。

命令格式

tail [OPTION]… [FILE]…

常用参数

-n Num 显示末尾指定的 Num 行
-n +Num 显示从 Num 行开始到文件末尾的内容
-f 跟踪显示文件新追加的内容
Ctrl + c 可以终止
-c Num 输出文件尾部的 Num 个字节内容

示例

  1. [root@localhost ~]# cut -d ":" -f 1 /etc/passwd | head -n 11
  2. [root@localhost ~]# cat -n test.txt
  3. 1 root
  4. 2 bin
  5. 3 daemon
  6. 4 adm
  7. 5 lp
  8. 6 sync
  9. 7 shutdown
  10. 8 halt
  11. 9 mail
  12. 10 operator
  13. 11 games
  14. ## 默认打印 10 行
  15. [root@localhost ~]# tail test.txt | cat -n
  16. 1 bin
  17. 2 daemon
  18. 3 adm
  19. 4 lp
  20. 5 sync
  21. 6 shutdown
  22. 7 halt
  23. 8 mail
  24. 9 operator
  25. 10 games
  26. ## 显示指定的 2 行
  27. [root@localhost ~]# tail -n 2 test.txt
  28. operator
  29. games
  30. ## 显示第 5 行到文件末尾的内容
  31. [root@localhost ~]# cat -n test.txt | tail -n +5
  32. 5 lp
  33. 6 sync
  34. 7 shutdown
  35. 8 halt
  36. 9 mail
  37. 10 operator
  38. 11 games
  39. ## 查看多个文件
  40. [root@localhost ~]# tail -n 2 /etc/passwd /etc/shadow
  41. ==> /etc/passwd <==
  42. apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
  43. gkdaxue:x:1000:1000::/home/gkdaxue:/bin/bash
  44. ==> /etc/shadow <==
  45. apache:!!:18737::::::
  46. gkdaxue:!!:18746:0:99999:7:::
  47. ## 显示最后的 6 个字节
  48. [root@localhost ~]# tail -c 6 test.txt
  49. games
  50. ## -f 命令
  51. [root@localhost ~]# echo aa > filea.txt
  52. [root@localhost ~]# cat filea.txt
  53. aa
  54. [root@localhost ~]# tail -f filea.txt
  55. aa
  56. <== 会在这里卡着
  57. ## 然后我们打开第二个终端
  58. [root@localhost ~]# echo bbb >> filea.txt
  59. ## 然后在回到第一个终端
  60. [root@localhost ~]# tail -f filea.txt
  61. aa
  62. bbb <== 输出了最新的内容
  63. <== 在这卡着了, ctrl + c 可以终止
  64. ^C
  65. ## - 的使用, 只显示最后两行
  66. [root@localhost ~]# tail -n 2 -
  67. aaa
  68. bbb
  69. ccc
  70. ddd
  71. <== 在此处按 ctrl + d 键,既可以得到下面结果
  72. ccc
  73. ddd