前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tail命令的常见用法

tail命令的常见用法

作者头像
louiezhou001
发布2021-11-30 14:18:44
5760
发布2021-11-30 14:18:44
举报
文章被收录于专栏:测试工程师成长之道

tail 是Linux中最常用的一个命令了, 他可以显示一个或者多个文件, 同时可以与管道符结合, tail最常用的是监视和分析日志文件等, 还可以和grep搭配使用

  • tail命令语法

首先了解一下tail命令的语法,格式如下:

tail [OPTION]... [FILE]...

[OPTION]是选项

[FILE]是文件

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示文件的尾部 n 行内容

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

来看示例:

有如下2个文件, unix.txt 和 copy.txt

代码语言:javascript
复制
[root@localhost zhou]# cat unix.txt
Name zhou
Email zhou@126.com
[root@localhost zhou]# cat copy.txt
Name Louie
Email louie@126.com
  • 可以通过tail去读取文件的不同, 语法是
代码语言:javascript
复制
tail -q unix.txt cop.txt
tail --quiet  unix.txt cop.txt

实例

代码语言:javascript
复制
[root@localhost zhou]# tail --quiet unix.txt copy.txt
Name zhou
Email zhou@126.com
Name Louie
Email louie@126.com
  • 默认读取最后10行
代码语言:javascript
复制
tail /var/log/user.log

实例

  • 你还能指定一个行数显示
代码语言:javascript
复制
tail -n 2  /var/log/user.log
tail --lines=2  /var/log/user.log

Hint : –lines= number of lines === -n number of lines 2个参数一样的效果

OUTPUT:

代码语言:javascript
复制
root@localhost:~# tail --lines=2  /var/log/user.log
Oct  2 14:09:08 localhost firefox-esr[2370]: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
Oct  2 14:09:08 localhost firefox-esr[2370]: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
root@localhost:~#
  • tail 显示最后8个字符
代码语言:javascript
复制
tail -c 10 ~/bytes.txt
tail --bytes=9 ~/bytes.txt

OUTPUT:

代码语言:javascript
复制
root@localhost:~# tail --bytes=10 ~/bytes.txt
9LASTCHAR
root@localhost:~#
  • 使用tail -v(verbose)来显示带有文件名的文件内容
代码语言:javascript
复制
tail -v unix.txt 
tail --verbose unix.txt 
==> unix.txt <==
Name         Email 
Mostafa      zhou@126.com

我将合并verbose和quiet选项来更清楚的展示他们的使用

OUTPUT:

代码语言:javascript
复制
root@localhost:~# tail --quiet --verbose unix.txt copy.txt
==> unix.txt <==
Name         Email
Mostafa      zhou@126.com

==> copy.txt <==
Name         Email
Mostafa      zhou@126.com
root@localhost:~#
  • 使用pipeline 管道符
代码语言:javascript
复制
cat /var/log/user.log | tail -n 3
ls -lah /root | tail -n 5

OUTPUT:

代码语言:javascript
复制
root@localhost:~# cat /var/log/user.log | tail -n 3 > output.txt
root@localhost:~# cat output.txt
Oct  2 14:08:55 localhost firefox-esr[2370]: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
Oct  2 14:09:08 localhost firefox-esr[2370]: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
Oct  2 14:09:08 localhost firefox-esr[2370]: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
root@localhost:~#

你可以查看你的tail版本

tail --version

你可以查看帮助手册

tail --help

总结:

测试是一门技术, 更是一门艺术. 也许你今天拥有的技术, 明天就会被淘汰. 同时需要我们开拓思维和眼界, 积极拥抱变化, 学习新知识, 新方法,新技能, 计算机领域讲究的是实践, 学习更要讲究方式方法. 学习和动手一定要结合, 光看不练,犹如看武功秘籍, 是永远成不了武功大侠的.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试工程师成长之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档