首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >8.Linux文件管理命令---head显示文件头部--tail显示文件尾部

8.Linux文件管理命令---head显示文件头部--tail显示文件尾部

原创
作者头像
度假的小鱼
发布2025-01-02 01:09:08
发布2025-01-02 01:09:08
1.2K0
举报
文章被收录于专栏:LinuxLinux

Linux文件管理命令

head显示文件头部

作用:显示一个文件内容的前多少行。

用法:head 选项

将每个指定文件的头 10 行显示到标准输出。

如果指定了多于一个文件,则在每一段输出前会给出文件名作为文件头。

如果不指定文件,或者文件为“-”,则从标准输入读取数据。

主要选项如下:

长选项必须使用的参数对于短选项也是必须使用的。

命令

描述

-c,--bytes=[-]K

显示每个文件的前 K 字节内容。如果附加“-”参数, 则除了每个文件 的最后 K 字节数据外,显示剩余全部内容。

-n,--lines=[-]K

显示每个文件的前 K 行内容。如果附加“-”参数, 则除了每个文件的 最后 K 行外,显示剩余全部内容。

-q,--quiet,--silent

不显示包含给定文件名的文件头。

-v,--verbose

总是显示包含给定文件名的文件头。

--help

显示此帮助信息并退出。

--version

显示版本信息并退出。

练习案例

(1)显示/etc/profile 的前 10 行内容。

代码语言:shell
复制
# head -n 10 /etc/profile 

(2)将/etc/named.conf 中前 3 行的内容发送至标准输出。

代码语言:shell
复制
$ head -n 3 /etc/ named.conf 
/etc/named.conf <== 
// generated by named-bootconf.pl 
options {

命令“head file1 file2 file3”和命令“cat file1 file2 file3 | head”有重大差别。

前者将打印每个文件指定行数的内容,不同文件的内容之间用头信息隔开,头信息以“==>”

后跟文件名开头。后者将打印由 cat 命令后所列文件组成的输入流中指定行数的内容,

但将把输入流作为单个文件对待

tail显示文件尾部

作用:显示一个文件内容的最后多少行。

用法:tail选项

主要选项如下。

命令

描述

--retry

即使 tail 开始时就不能访问或者在 tail 运行后不能访问, 也仍然不停地尝试打开文件。--只与-f 合用时有效。

-c,--bytes=N

输出最后 N 字节。

-f,--follow[={name|descriptor}]

当文件增长时,输出后续添加的数据;-f,--follow 及 --follow=descriptor 含义相同。

-n,--lines=N

输出最后 N 行,而非默认的最后 10 行。

--pid=PID

与-f 合用,表示在进程 ID、PID 死掉之后结束。

-q,--quiet,--silent

从不输出给出文件名的首部。

-s,--sleep-interval=S

与-f 合用,表示在每次反复的间隔休眠 S 秒。

-v,--verbose

总是输出给出文件名的首部。

--help

显示帮助信息后退出。

--version

输出版本信息后退出。

如果 N(字节或者行数)的第一个字符为`+',那么从每个文件的开头算起的第 N 项开始显

示,否则,显示该文件的最后 N 项。N 可以有一个倍数前缀:b 表示 512,k 表示 1024,m 表

示 1048576(1 兆)。第一个选项-VALUE 或+VALUE 以-nVALUE 或-n+VALUE 方式看待,除非

VALUE 含有bkm后缀倍数中的一个,在这种情况下,它被看作-cVALUE 或者-c+VALUE。

使用--follow(-f)时,tail 默认后接文件描述符,这意味着即使 tail 显示的文件改名了,tail

仍然可以追踪到其末尾部分。如果确实希望查询文件的实际名而非文件描述符(例如,日志轮

转时),这种默认的操作就不是用户所期望的了。在这种情况下应使用--follow=name。这将导

致 tail 通过周期性地重新打开所指定的文件来追踪其是否被删除了,或者被其他程序重新

创建了。

练习案例

(1)显示/etc/profile 的最后 5 行内容。

代码语言:shell
复制
#tail -n 5 /etc/profile

(2)将/etc/named.conf 中后 3 行的内容发送至标准输出并显示头信息。

代码语言:shell
复制
$tail -n 3 -v /etc/named.conf 
==> /etc/named.conf <== 
}; 
include "/etc/rndc.key";

如果 tail 正在读取的文件不止一个,那么各行内容之间将用标准头信息隔开,以

指明它们来自哪个文件,标准头信息以“==>”开头,该选项用于监视系统日志非常

合适。例如,在单独的终端窗口中执行的“tail -f /var/log/access.log”将持续打印每次

单击后新添加的 Apache 访问日志条目,一直到按 Ctrl+C 组合键停止它为止。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • Linux文件管理命令
    • head显示文件头部
      • 练习案例
    • tail显示文件尾部
      • 练习案例
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档