当前位置:网站首页> 体育百科 > tail(一张图看懂head -n -k和tail -n k用法及区别)

tail(一张图看懂head -n -k和tail -n k用法及区别)

更新时间:2022-09-23 12:01:18

概述

一般会linux命令的人都知道head -n k和tail -n k(k≥0)的作用,但却不知道还支持head -n -k和tail -n k的用法, 更不知道有着怎样的作用了。所以今天主要介绍下这一块。


一张图搞定

下面,用一张图让你搞懂它们:

tail(一张图看懂head -n -k和tail -n  k用法及区别)

head-n_tail-n

备注:方框表示文件全部内容,绿色部分表示命令产生的结果;


举例

创建一个文件,文件共10行,每行的内容依次为1-10数字,如下:

$ cat testfile 
$ cat testfile | wc -l 

tail(一张图看懂head -n -k和tail -n  k用法及区别)

当k=3时,分别执行上述命令:

$ head -n 3 testfile 
$ head -n  3 testfile 

tail(一张图看懂head -n -k和tail -n  k用法及区别)

由此可见,head -n k和head -n k意义相同;

$ head -n -3 testfile 

tail(一张图看懂head -n -k和tail -n  k用法及区别)

-k的意义是除了最后k行的所有行。

$ tail -n 3 testfile 
$ tail -n -3 testfile 

tail(一张图看懂head -n -k和tail -n  k用法及区别)

由此可见,tail -n k和tail -n -k意义相同;

$ tail -n  3 testfile 

k的意义是从第k行开始,输出所有行;

tail(一张图看懂head -n -k和tail -n  k用法及区别)


总结

  1. head -n k=head -n k,tail -n k=tail -n -k,可以简单记忆为头正尾负;
  2. 无论k前面的符号怎样,tail都是输出尾部内容,head都是输出头部内容的;
  3. 特别注意tail -n k,这里的k表示从第K行开始;(因此上例中,head -n -3输出7行,而tail -n 3输出8行。)

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

tail(一张图看懂head -n -k和tail -n  k用法及区别)