学了这个命令,离大厂又近了一步!

举报
Linux猿 发表于 2021/08/04 22:34:48 2021/08/04
【摘要】 目录 一、语法格式 二、常用参数 三、实例 1. 无参数 2. -f 参数 3. -n 参数 4. -c 参数 四、总结 在之前的文章中,已经为大家讲解了很多面试必备命令,今天讲解的这个命令也很重要,在使用Linux过程中经常使用的一个命令,赶紧来学习下吧! 一、语法格式     tail [参数]... [文件]... 文件可以...

目录

一、语法格式

二、常用参数

三、实例

1. 无参数

2. -f 参数

3. -n 参数

4. -c 参数

四、总结


在之前的文章中,已经为大家讲解了很多面试必备命令,今天讲解的这个命令也很重要,在使用Linux过程中经常使用的一个命令,赶紧来学习下吧!

一、语法格式

    tail [参数]... [文件]...

文件可以包含多个,如果使用 “-”代替文件时,将从标准输入读取数据。

二、常用参数

-f, --follow :实时读取文件新增加的内容;

-n, --lines=[+]NUM :指定行输出;

-c, --bytes=[+]NUM:指定字节输出;

三、实例

在以下实例中,文件 file-tail.txt 的内容为:


  
  1. linuxy@linuxy:~$ cat file-tail.txt
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14. 13
  15. 14
  16. 15
  17. 16
  18. 17
  19. 18
  20. 19
  21. 20
  22. linuxy@linuxy:~$

文件 file-tail-bytes.txt 的内容为:


  
  1. linuxy@linuxy:~$ cat file-tail-bytes.txt
  2. ABCDEFGH
  3. linuxy@linuxy:~$

1. 无参数

如果不带参数直接执行命令,默认输出文件的最后 10 行的内容,如下所示: 


  
  1. linuxy@linuxy:~$ tail file-tail.txt
  2. 11
  3. 12
  4. 13
  5. 14
  6. 15
  7. 16
  8. 17
  9. 18
  10. 19
  11. 20
  12. linuxy@linuxy:~$

 样例输出了最后 10 行的内容。

2. -f 参数

可以实时读取文件新增加的内容。

实例中先执行 tail -f file-tail-fllow.txt,等待文件新增内容。然后再启一个终端向文件 file-tail-fllow.txt 中增加内容,如下所示:

linuxy@linuxy:~$ echo "This is a temporary file!" >> file-tail-fllow.txt
 

这时,第一步执行的命令 tail -f file-tail-fllow.txt 处会出现 echo 输入的内容,如下所示: 


  
  1. linuxy@linuxy:~$ tail -f file-tail-fllow.txt
  2. This is a temporary file!

可以看到,如果对文件 file-tail.txt 新增内容,会实时显示到 tail -f file-tail-fllow.txt 执行命令所在的终端处,可以使用 Ctrl + C 中断命令。 

3. -n 参数

指定行进行输出。

-n  NUM:输出最后 NUM 行;

-n +NUM:输出从第 NUM 行到文件结束的内容;

其中,tail -n NUM fileName 等同于 tail -NUM fileName 等同于 tail -n -NUM fileName,如下所示: 


  
  1. linuxy@linuxy:~$ tail -n 3 file-tail.txt
  2. 18
  3. 19
  4. 20
  5. linuxy@linuxy:~$ tail -n -3 file-tail.txt
  6. 18
  7. 19
  8. 20
  9. linuxy@linuxy:~$ tail -3 file-tail.txt
  10. 18
  11. 19
  12. 20
  13. linuxy@linuxy:~$

当参数为 +NUM 时,代表输出第 NUM 行到文件结束的内容,如下所示:


  
  1. linuxy@linuxy:~$ tail -n +17 file-tail.txt
  2. 17
  3. 18
  4. 19
  5. 20
  6. linuxy@linuxy:~$

4. -c 参数

指定字节进行输出;

-c NUM : 输出最后 NUM 个字节的内容,如下所示:


  
  1. linuxy@linuxy:~$ tail -c 3 file-tail-bytes.txt
  2. GH
  3. linuxy@linuxy:~$

注意:最后还有一个结束符;

-c +NUM : 输出第 NUM 个字节到文件最后的内容,如下所示:


  
  1. linuxy@linuxy:~$ tail -c +3 file-tail-bytes.txt
  2. CDEFGH
  3. linuxy@linuxy:~$

可以使用 K,M 等单位进行输出,K 代表1024,M 代表1048576,如下所示:


  
  1. linuxy@linuxy:~$ tail -c 3K file-tail-bytes.txt
  2. ABCDEFGH
  3. linuxy@linuxy:~$ tail -c 3M file-tail-bytes.txt
  4. ABCDEFGH
  5. linuxy@linuxy:~$

3K 代表 3 * 1024 字节,3M 代表 3 * 1048576字节。 

四、总结

在本文中讲解了 tail 常用的命令,后面的文章将进一步讲解更深层次的内容,敬请期待!

参考文献:

[1] Ubuntu man手册

 

文章来源: blog.csdn.net,作者:Linux猿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nyist_zxp/article/details/118035517

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。