tail 命令
用来查看文件末尾的数据,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用参数:
-f 循环读取(常用于查看递增的日志文件) -n<行数> 显示行数(从后向前)
基本格式如下:
[root@localhost ~]# tail [选项] 文件名
tail 命令选项及含义
选项 |
含义 |
-n K |
这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上, 如果使用 -n +K,则表示从文件的第 K 行开始输出。 |
-c K |
这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容, 在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。 |
-f |
输出文件变化后新增加的数据。 |
示例
查看 /etc/passwd 文件最后 3 行的数据内容。
[root@localhost ~]# tail -n 3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:
/var/lib/oprofile:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
还可以采用如下形式:
[root@localhost ~]# tail -3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:
/var/lib/oprofile:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
使用 tail -n 3 /etc/passwd 命令和 tail -3 /etc/passwd 的效果是一样的。
查看 /etc/passwd 文件末尾 100 个字节的数据内容。
[root@localhost ~]# tail -c 100 /etc/passwd
cpdump:x:72:72::/:/sbin/nologin
监听文件的新増内容。tail 命令有一种比较有趣的用法,可以使用 "-f" 选项来监听文件的新増内容,例如:
[root@localhost ~]#tail -f anaconda-ks.cfg
@server-platform
@server-policy
pax
oddjob
sgpio
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end
#光标不会退出文件,而会一直监听在文件的结尾处
这条命令会显示文件的最后 10 行内容,而且光标不会退出命令,每隔一秒会检查一下文件是否增加新的内容,如果增加就追加到原来的输出结果后面并显示。因此,这时如果向文件中追加一些数据(需要开启一个新终端):
[root@localhost ~]# echo 2222222222 >> anaconda-ks.cfg
[root@localhost ~]# echo 3333333333 >> anaconda-ks.cfg
#在新终端中通过echo命令向文件中追加数据
在原始的正在监听的终端中,会看到如下信息:
[root@localhost ~]# tail -f anaconda-ks.cfg @server-platforin
@server-policy
pax
oddjob
sgpio
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end2222222222
33333333333
#在文件的结尾处监听到了新増数据
如果想终止输出,按【Ctrl+c】键中断 tail 命令即可。