当前位置 博文首页 > Linux猿:学了这个命令,离大厂又近了一步!

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

    作者:[db:作者] 时间:2021-09-17 09:06

    目录

    一、语法格式

    二、常用参数

    三、实例

    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手册

    ?

    cs