Linux 日志查看 | tail 命令「建议收藏」

Linux 日志查看 | tail 命令「建议收藏」tail命令可以将文件指定位置到文件结束的内容写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件。tail-ffilename会把文件里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。NAME(名称)tail-outputthelastpartoffiles输出文件的最后一部分SYNO…

大家好,又见面了,我是你们的朋友全栈君。

tail命令可以将文件指定位置到文件结束的内容写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件。tail -f filename会把文件里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

NAME(名称)
       tail - output the last part of files
		      输出文件的最后一部分

SYNOPSIS(概要,大纲)
       tail [OPTION]... [FILE]...

DESCRIPTION(描述)
       Print  the  last 10 lines of each FILE to standard output.
       With more than one FILE, precede each with a header giving the file name.
       With no FILE, or when FILE is -, read standard input.
	   将每个文件的最后10行打印到标准输出。
	   如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
	   如果没有指定文件,或者文件为-,那么就从标准输入上读取。

       Mandatory arguments to long options are mandatory for short options too.
	   长选项必须用的参数在使用短选项时也是必须的。

       -c, --bytes=K
              output the last K bytes; 
              or use -c +K to output bytes starting with the Kth of each file
			  输出最后的K个字节;
			  或者使用 -c +K 从每个文件的第K字节开始打印。

       -f, --follow[={ 
   name|descriptor}] 
              output appended data as the file grows;
			  随着文件的增长,输出附加数据;(动态输出最新的信息)
              an absent option argument means 'descriptor'
			  一个不存在的选项参数即是“描述符”

       -F     same as --follow=name --retry
		      与 --follow=name --retry 作用相同

       -n, --lines=K
              output the last K lines, instead of the last 10; or use -n +K to output starting with the Kth
			  输出最后的K行,而不是最后的10行;或者使用 -n +K 从每个文件的第K行开始打印。

       --max-unchanged-stats=N
              with --follow=name, reopen a FILE which has not

              changed size after N (default 5) iterations to see if it has been unlinked or  renamed (this is the usual case of rotated log files);
              with inotify, this option is rarely useful
              在N(默认5)次迭代后更改了大小,以确定它是否已经解除了连接或重新命名(这是旋转日志文件的常见情况);
			  使用inotify,这个选项很少有用

       --pid=PID
              with -f, terminate after process ID, PID dies
			  与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;

       -q, --quiet, --silent
              never output headers giving file names
			  当有多个文件参数时,不输出各个文件名;

       --retry
              keep trying to open a file if it is inaccessible
			  即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;

       -s, --sleep-interval=N
              with  -f,  sleep  for  approximately N seconds (default 1.0) between iterations; 
              with inotify and --pid=P, check process P at least once every N seconds
			  与“-f”选项连用,指定监视文件变化时间隔的秒数(默认为1.0);
			  使用inotify和-pid=P,每N秒检查进程P至少一次

       -v, --verbose
              always output headers giving file names
			  当有多个文件参数时,总是输出各个文件名;

       --help display this help and exit
		      显示此帮助信息并退出

       --version
              output version information and exit
              显示版本信息并退出
			  
       If the first character of K (the number of bytes or lines) is a '+', 
       print beginning with the  Kth  item from  the  start  of  each file, 
       otherwise, print the last K items in the file.  
       K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024,  and  so on for T, P, E, Z, Y.
	   
	   如果K前面的字符(字节数或行数)'+',每个文件从第K项开始打印,否则,打印文件中最后的K项。
	   K可能有一个乘数后缀:b 512,kB 1000,K 1024,MB 1000 1000,M 1024 1024,GB 1000 1000,G 1024 1024 1024,等等,对于T,P,E,Z,y。

1、输出最后的100个字符

[root@peipei3514 usr]# tail -c 100 test.log
018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

2、从第6500个字符开始输出,一直到最后

[root@peipei3514 usr]# tail -c +6500 test.log
 RBZDP
190 2018-09-07 15:48:11:724 PFMXT
191 2018-09-08 15:49:15:724 MWPPA
192 2018-09-09 15:50:06:724 UWRQM
193 2018-09-10 15:51:06:724 KOKZL
194 2018-09-11 15:52:22:724 WDKSI
195 2018-09-12 15:53:16:724 UXTIP
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

3、输出最后的5行

[root@peipei3514 usr]# tail -n 5 test.log
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

4、从第196行开始输出,一直到最后

[root@peipei3514 usr]# tail -n +196 test.log
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

5、输出指定文件的最后十行,同时继续监视文件内容有无变化,新增内容会继续输出,直到按下 [Ctrl-C] 组合键停止该命令。

[root@peipei3514 usr]# tail -f test.log
191 2018-09-08 15:49:15:724 MWPPA
192 2018-09-09 15:50:06:724 UWRQM
193 2018-09-10 15:51:06:724 KOKZL
194 2018-09-11 15:52:22:724 WDKSI
195 2018-09-12 15:53:16:724 UXTIP
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

6、指定多个文件并输出文件名

[root@peipei3514 usr]# tail -v test.log test2.log
==> test.log <==
191 2018-09-08 15:49:15:724 MWPPA
192 2018-09-09 15:50:06:724 UWRQM
193 2018-09-10 15:51:06:724 KOKZL
194 2018-09-11 15:52:22:724 WDKSI
195 2018-09-12 15:53:16:724 UXTIP
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ

==> test2.log <==
391 2019-03-27 22:00:38:800 GKAVS
392 2019-03-28 22:01:39:801 FZZQO
393 2019-03-29 22:02:36:801 SMEUF
394 2019-03-30 22:03:34:801 SMKWL
395 2019-03-31 22:04:35:801 VIADG
396 2019-04-01 22:05:24:801 VRGTH
397 2019-04-02 22:06:27:801 GDPIV
398 2019-04-03 22:07:30:801 WDEWY
399 2019-04-04 22:08:27:802 MXKMM
400 2019-04-05 22:09:42:802 EMIYR

7、指定多个文件不输出文件名

[root@peipei3514 usr]# tail -q test.log test2.log
191 2018-09-08 15:49:15:724 MWPPA
192 2018-09-09 15:50:06:724 UWRQM
193 2018-09-10 15:51:06:724 KOKZL
194 2018-09-11 15:52:22:724 WDKSI
195 2018-09-12 15:53:16:724 UXTIP
196 2018-09-13 15:54:06:724 XXTYN
197 2018-09-14 15:55:12:725 KWUAX
198 2018-09-15 15:56:10:725 THERP
199 2018-09-16 15:57:16:725 DWMTJ
200 2018-09-17 15:58:13:725 PHKIZ
391 2019-03-27 22:00:38:800 GKAVS
392 2019-03-28 22:01:39:801 FZZQO
393 2019-03-29 22:02:36:801 SMEUF
394 2019-03-30 22:03:34:801 SMKWL
395 2019-03-31 22:04:35:801 VIADG
396 2019-04-01 22:05:24:801 VRGTH
397 2019-04-02 22:06:27:801 GDPIV
398 2019-04-03 22:07:30:801 WDEWY
399 2019-04-04 22:08:27:802 MXKMM
400 2019-04-05 22:09:42:802 EMIYR
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136222.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 独有系统的两个潜在风险

    独有系统的两个潜在风险

  • CentOS 7 安装 Nginx

    CentOS 7 安装 NginxCentOS7安装Nginx前言Linux的两种安装方式yum安装前言最近,在公司经常会进行项目的部署,但是服务器环境都是导师已经搭建好了的,我就是将项目文件放到特定目录。于是,我周末在家就进行了Nginx的安装学习。之前,在Windows上使用过Nginx,但是在Linux环境下Ngnix的安装和在Windows环境下安装是有一定区别的。这次进行在Linux环境下使用源码包的方式安…

  • C语言数组初始化的三种方法[通俗易懂]

    C语言数组初始化的三种方法[通俗易懂]C语言中,数组初始化的方式主要有三种:1、声明时,使用{0}初始化;2、使用memset;3、用for循环赋值。那么,这三种方法的原理以及效率如何呢?请看下面的测试代码:#defineARRAY_SIZE_MAX(1*1024*1024)voidfunction1(){chararray[ARRAY_SIZE_MAX]={0};…

  • 【c#】控制台程序的显示和隐藏「建议收藏」

    【c#】控制台程序的显示和隐藏「建议收藏」【c#】控制台程序的显示和隐藏

  • MAC下最好用的抓包工具–charles简单操作教程

    MAC下最好用的抓包工具–charles简单操作教程一、Charles介绍给大家推荐一款在mac上我觉得很好用的抓包工具,再过去的半年中给我很大帮助,在工作学习中使用很方便。那么什情况下我们会需要使用抓包工具呢,比如我想查看一个接口请求的参数、返回值,还有移动设备上的http请求、https请求,有了charles一下搞定,妈妈再也不用担心我的学习了,咳咳……,回归正题,介绍一下charles。Charles是一个HTTP代理服务器…

  • Android代码混淆常见配置[通俗易懂]

    Android代码混淆常见配置[通俗易懂]Android代码混淆常见配置1.manifest中注册的都不能混淆,如果混淆了就找不到了,所以一下类不能被混淆,一般保持原样。-keeppublicclass*extendsandroid.app.Activity-keeppublicclass*extendsandroid.app.Application -keeppublicclass*exten

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号