学了这个命令,离大厂又近了一步!

Posted Linux猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学了这个命令,离大厂又近了一步!相关的知识,希望对你有一定的参考价值。

目录

一、语法格式

二、常用参数

三、实例

1. 无参数

2. -f 参数

3. -n 参数

4. -c 参数

四、总结


在之前的文章中,已经为大家讲解了很多面试必备命令,今天讲解的这个命令也很重要,在使用Linux过程中经常使用的一个命令,赶紧来学习下吧!

一、语法格式

    tail [参数]... [文件]...

文件可以包含多个,如果使用 “-”代替文件时,将从标准输入读取数据。

二、常用参数

-f, --follow :实时读取文件新增加的内容;

-n, --lines=[+]NUM :指定行输出;

-c, --bytes=[+]NUM:指定字节输出;

三、实例

在以下实例中,文件 file-tail.txt 的内容为:

linuxy@linuxy:~$ cat file-tail.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
linuxy@linuxy:~$

文件 file-tail-bytes.txt 的内容为:

linuxy@linuxy:~$ cat file-tail-bytes.txt
ABCDEFGH
linuxy@linuxy:~$

1. 无参数

如果不带参数直接执行命令,默认输出文件的最后 10 行的内容,如下所示: 

linuxy@linuxy:~$ tail file-tail.txt
11
12
13
14
15
16
17
18
19
20
linuxy@linuxy:~$

 样例输出了最后 10 行的内容。

2. -f 参数

可以实时读取文件新增加的内容。

实例中先执行 tail -f file-tail-fllow.txt,等待文件新增内容。然后再启一个终端向文件 file-tail-fllow.txt 中增加内容,如下所示:

linuxy@linuxy:~$ echo "This is a temporary file!" >> file-tail-fllow.txt

这时,第一步执行的命令 tail -f file-tail-fllow.txt 处会出现 echo 输入的内容,如下所示: 

linuxy@linuxy:~$ tail -f file-tail-fllow.txt
This is a temporary file!

可以看到,如果对文件 file-tail.txt 新增内容,会实时显示到 tail -f file-tail-fllow.txt 执行命令所在的终端处,可以使用 Ctrl + C 中断命令。 

3. -n 参数

指定行进行输出。

-n  NUM:输出最后 NUM 行;

-n +NUM:输出从第 NUM 行到文件结束的内容;

其中,tail -n NUM fileName 等同于 tail -NUM fileName 等同于 tail -n -NUM fileName,如下所示: 

linuxy@linuxy:~$ tail -n 3 file-tail.txt
18
19
20
linuxy@linuxy:~$ tail -n -3 file-tail.txt
18
19
20
linuxy@linuxy:~$ tail -3 file-tail.txt
18
19
20
linuxy@linuxy:~$

当参数为 +NUM 时,代表输出第 NUM 行到文件结束的内容,如下所示:

linuxy@linuxy:~$ tail -n +17 file-tail.txt
17
18
19
20
linuxy@linuxy:~$

4. -c 参数

指定字节进行输出;

-c NUM : 输出最后 NUM 个字节的内容,如下所示:

linuxy@linuxy:~$ tail -c 3 file-tail-bytes.txt
GH
linuxy@linuxy:~$

注意:最后还有一个结束符;

-c +NUM : 输出第 NUM 个字节到文件最后的内容,如下所示:

linuxy@linuxy:~$ tail -c +3 file-tail-bytes.txt
CDEFGH
linuxy@linuxy:~$

可以使用 K,M 等单位进行输出,K 代表1024,M 代表1048576,如下所示:

linuxy@linuxy:~$ tail -c 3K file-tail-bytes.txt
ABCDEFGH
linuxy@linuxy:~$ tail -c 3M file-tail-bytes.txt
ABCDEFGH
linuxy@linuxy:~$

3K 代表 3 * 1024 字节,3M 代表 3 * 1048576字节。 

四、总结

在本文中讲解了 tail 常用的命令,后面的文章将进一步讲解更深层次的内容,敬请期待!

参考文献:

[1] Ubuntu man手册

 

以上是关于学了这个命令,离大厂又近了一步!的主要内容,如果未能解决你的问题,请参考以下文章

精心为学弟学妹准备的刷题笔记与代码规范,看完距大厂又近了一步!值得收藏!

CSS3CSS3动画——我离前端的炫酷又近了一步

Unity Shader入门☀️ | 使用Shader实现一个彩虹球效果✨!闪闪发光的特效离我又近了一步!

离共用皮肤又近一步?游戏大厂试水 NFT,玩家大骂无良

程序人生之告别

google加入无人船研究队列!!无人船越来越近了。。。