Linux命令:tail

xieshuoshuo 发布于 2024-05-21 430 次阅读 预计阅读时间: 4 分钟


由于开发的是Java项目,所以有一些日志就需要在服务器上查看,但是给的测试服务器上传速度很快,下载速度嘛,不提也罢。

所以我就需要一个可以在Linux系统上查看日志文件的东西,但是这个我也不太熟悉,所以问了一下AI,AI的答复是使用tail技术,正好,那就看一下这个命令吧。

然后在CSND上,也有一个我看到的文件,这里也放一下连接:Linux命令详解:tail - 实时查看文件内容

方便起见,我就引用他的部分文章内容了。

参考网址:菜鸟教程 - Linux tail 命令,看完之后,就有一个大概的了解了。

顺便附上菜鸟教程Linux命令大全的网址:菜鸟教程 - Linux命令大全,温馨提示:善于使用 Ctrl + F 快捷键哦😉

1、tail 命令分析

tail 命令可用于查看文件的内容。英文翻译:尾。在实际使用时,常用的一个命令如下:

tail -f filename

此命令使用了一个主要的参数 -f,可以用来查阅正在改变的日志文件。

此命令会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件名]

1.1 参数分析

tail 命令可以搭配多个参数使用,不过我目前只用到了 -f,参考菜鸟教程总结常用参数如下:

参数作用
-f循环读取
-q不显示处理信息
-v显示详细的处理信息
-c<数目>-c + 空格 + 数目 n:显示的字节数。
自己测试是从文件末尾开始往前计数 n 个字节数。
-n<行数>-n + 空格 + 行数 n:显示文件的尾部 n 行内容。
–pid=PID一般与 -f 一块使用,表示在进程 ID、PID 死掉之后结束

1.2 简要举例

实时打印日志文件

tail -f log.log

显示文件 log.log 的内容,从第20行至文件末尾

tail +20 log.log

显示文件 log.log 的最后100个字符

tail -c 100 log.log

显示文件 log.log 最后100行数据

tail -n 100 log.log

除了 log.log 前99行不显示外,显示第100行到末尾行

tail -n -100 log.log

实时打印非当前路径的日志文件 log.log

tail -f /etc/log.log

2、重定向实时打印

当我们在实际使用时,可能会同时有多个进程在运行,那这每个进程都会有日志信息打印,当日志文件太多,设备空间不够时,怎么办?怎么能只看某个正在运行的进程打印出来的日志信息呢?那就要使用重定向命令了。

 具体用法:

  • 先使用命令查看当前进程ID
ps -aux // 全部显示
ps -aux | grep 进程名 // 只显示与“进程名”相关的进程信息,增加一层过滤
  • 重定向到指定进程ID(PID)
reredirect -m filename 进程ID   // 将此进程的日志信息,定向输出到 filename 此文件中。
  • 实时查看日志信息
tail -f filename