Linux head和tail命令

服务器

浏览数:288

2019-5-9

AD:资源代下载服务

介绍

 head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录。

head命令

head命令默认显示头部的前N行

Usage: head [OPTION]... [FILE]...
默认输出前10行
当指定多个文件时,在输出前输出各个文件名
当没有指定文件或指定的文件是“-”说明读取标准输入

Mandatory arguments to long options are mandatory for short options too.
  -c, --bytes=[-]K         print the first K bytes of each file;
                             with the leading `-', print all but the last
                             K bytes of each file 显示头部前多少字节,这里的K是单位的标示,具体的单位参考下面列表,当使用-K时显示除了尾部多少字节外的所有内容
  -n, --lines=[-]K         print the first K lines instead of the first 10;
                             with the leading `-', print all but the last
                             K lines of each file显示头部的多少行,默认显示头部10行,例如-n -b代表显示除了尾部512行外的所有行
  -q, --quiet, --silent    never print headers giving file names当指定多个文件时,出现内容中不输出文件名
  -v, --verbose            always print headers giving file names
      --help     display this help and exit
      --version  output version information and exit

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.

tail命令

tail命令同head命名正好相反,tail默认输出尾部10行

Usage: tail [OPTION]... [FILE]...
默认输出尾部10行
当指定多个文件时,默认在输出内容前显示文件名
当没有指定文件或者指定的文件是“-”时,读取标准输入

Mandatory arguments to long options are mandatory for short options too.对于长选项不可忽略的参数对应短选项也不可忽略
  -c, --bytes=K            output the last K bytes; alternatively, use -c +K显示尾部的字节数,当使用+k参数时表示从k字节开始显示到末尾,例如-c +1b 显示512字节开始到末尾的内容
                           to output bytes starting with the Kth of each file
  -f, --follow[={name|descriptor}]
                           output appended data as the file grows;
                           -f, --follow, and --follow=descriptor are
                           equivalent追加显示文件最新的内容
  -F                       same as --follow=name --retry等同于使用 -f filename --retry操作
  -n, --lines=K            output the last K lines, instead of the last 10;默认显示输出尾部的10行,当使用+k参数时指从第K行开始显示到末尾,例如-n +6显示第6行到末尾的内容
                           or use -n +K to output lines starting with the Kth
      --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.
      --pid=PID            with -f, terminate after process ID, PID dies--指定进程id,可以结合-f参数一起使用,当指定的进程终止时显示也终止
  -q, --quiet, --silent    never output headers giving file names ###同时显示多个文件时不输出文件名
      --retry              keep trying to open a file even when it is or当连接的文件突然不可访问时尝试重新连接
                             becomes inaccessible; useful when following by
                             name, i.e., with --follow=name
  -s, --sleep-interval=N   with -f, sleep for approximately N seconds当使用-f参数时可以,使用-s显示间隔
                             (default 1.0) between iterations.
                           With inotify and --pid=P, check process P at
                           least once every N seconds.
  -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.

tail命令参数和head概念差不多,但是要注意二者的+k,-k的各自含义,tail有一个非常有意思的参数是-f参数,使用该参数可以不停的追加显示一个文件最新插入的内容。

1.追加显示文件内容

tail -f /tmp/orzdba_mysql.log 

当文件有新的内容插入进来时它会不停的显示新插入的内容

2.当进程8770终止时,tail也结束

tail -f /tmp/orzdba_mysql.log --pid=8770

总结

 tail -f参数经常会用来监控日志文件的显示,结合实际需要可以充分发挥它的作用

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

作者:pursuer.chen