head_and_tail - QLGQ/learning-python GitHub Wiki

head命令详解

head命令的语法格式为:head [OPTION]... [FILE]...
使用head命令默认显示文件的前十行。

参数及解释

  • -n n,显示文件的前n行
  • -n -n,显示文件除去最后n行外的所有内容
  • -c n,按文件内容大小来打印,打印前n个字节的内容
  • -c -n,按文件内容大小来打印,打印除了最后n个字节的所有内容
  • -q ,打印时不显示文件名称(其实后面跟上--quiet,--silent都是一样的,都不会显示文件名称,和默认打印是一样的效果。)
  • -v,打印时显示文件名称(其中,用--verbose和-v显示的是一样的效果) 打印多个文件的内容时,只需将文件按顺序列出来即可。

tail命令详解

tail命令和head命令非常相似,只不过它是打印文件的尾部内容的,当然也有一些特色之处。 tail命令的语法格式为:tail [OPTION]... [FILE]...

参数及解释

  • -n n,打印文件的最后n行
  • -n +n,从第n行开始输出文件的所有内容
  • -c n,打印文件中的最后n个字节
  • -c +n,打印文件的所有内容除了前n个字节
  • -f,循环读取文件
  • -s,设置一个间隔时间来查看文件的更新
  • --pid,给定某个进程

tail命令的一个很重要的用法是从一个内容不断增加的文件中读取数据。新增加的内容被添加到文件的尾部,因此当新内容被写入文件的时候,可以用tail命令将其显示出来。只是简单实用tail的话,它会读取文件的最后10行,然后退出,这样就不能做到实时监控,加入-f参数就可以做到实时监控文件的更新内容了。这样就能实时监控项目的log日志了。

tail具有一个很有意思的特性,当某个给定进程结束之后,tail也会随之终结。假如我们正在读取一个不断增长的文件,进程Foo一直在向该文件追加数据,那么tail会一直执行,直到进程Foo的结束。