Linux中的Head和Tail命令及其示例说明
在Linux中,从输入文件中获取一部分文本是很常见的。然而,有时,我们只对查看文件的几行内容感兴趣。Linux为我们提供了
头
和
尾
命令只打印我们感兴趣的行。
Linux
头
和
尾
命令非常相似。默认情况下,它们安装在所有Linux发行版中。让我们首先了解它们是什么以及它们的用途。
简而言之,正如他们的名字所暗示的那样
头
命令从文件的开头打印行,并且
尾
命令从文件末尾打印行。最后,两个命令都将结果写入标准输出。
现在,让我们通过示例来学习如何使用它们。
Linux中的Head命令
的语法
头
命令非常简单:
头
[选项]
文件夹
代码语言:
CSS
(
css
)
默认情况下,在没有任何选项的情况下
头
命令将显示文件的前十行。就这样。
head/etc/passwd
根:x:
0:
0::
根
垃圾桶/垃圾桶
箱子
:x:
1.
:
1.
::
u
sr/bin/nologin
后台进程
:x:
2.
:
2.
::
u
sr/bin/nologin
邮政
:x:
8.
:
12
::
/var/
假脱机/邮件:
/usr/
bin/nologin
ftp
:x:
14
:
11
::
/srv/
ftp:
/usr/
bin/nologin
http
:x:
33
:
33
::
/srv/
http:
/usr/
bin/nologin
没有人
:x:
65534
:
65534
没有人
u
sr/bin/nologin
dbus
:x:
81
:
81
:系统消息总线:
u
sr/bin/nologin
systemd日志远程:x:
982
:
982
:systemd日志远程:
u
sr/bin/nologin
systemd网络:x:
981
:
981
:systemd网络管理:
u
sr/bin/nologin
代码语言:
JavaScript
(
javascript
)
当然,在执行命令以获得自定义输出时,我们可以定义一些选项。
使用head命令输出特定数量的行
如果希望检索不同于默认10的行数,则
n
选项与一个整数一起使用,该整数表示要检索的行数。
例如,以下命令将显示
/etc/passwd
文件
head-n 3/etc/passwd
根:x:
0:
0::
根
垃圾桶/垃圾桶
箱子
:x:
1.
:
1.
::
u
sr/bin/nologin
后台进程
:x:
2.
:
2.
::
u
sr/bin/nologin
代码语言:
JavaScript
(
javascript
)
使用head命令输出特定数量的字节
此外
头
命令还可以按字节打印文件内容。只要通过
c
选项。请记住,换行符算作单个字符,因此如果
头
打印出一个换行符,它将作为一个字节计数。
例如,以下命令将显示
/etc/passwd
文件
head-c 8/etc/passwd
根
:x
:0
代码语言:
CSS
(
css
)
使用head命令输出多个文件
当然
头
命令还可以处理多个文件。例如,以下命令将显示的前三行
/etc/passwd
和
/etc/组
文件夹。
head-n 3/etc/passwd/etc/group
==>
等
passwd<==
根:x:
0:
0::
根
垃圾桶/垃圾桶
箱子
:x:
1.
:
1.
::
u
sr/bin/nologin
后台进程
:x:
2.
:
2.
::
u
sr/bin/nologin
==>
/etc/g
group<==
根:x:
0:brltty,根
sys
:x:
3.
箱子
mem
:x:
8.
:
代码语言:
JavaScript
(
javascript
)
添加
q
选项将剥离提供文件名的标头。
head-q-n 3/etc/passwd/etc/group
根:x:
0:
0::
根
垃圾桶/垃圾桶
箱子
:x:
1.
:
1.
::
u
sr/bin/nologin
后台进程
:x:
2.
:
2.
::
u
sr/bin/nologin
根
:x:
0:brltty,根
sys
:x:
3.
箱子
mem
:x:
8.
:
代码语言:
JavaScript
(
javascript
)
如何将head命令与管道一起使用
的
头
命令也可以通过管道传输到其他命令。因此,在以下示例中
ls
命令通过管道传输到
头
显示中最近修改的五个文件或文件夹
等
目录
ls-t/etc |头-n 5
ld
所以
隐藏物
resolv
.conf
systemd
自由办公室
轮廓
d
代码语言:
CSS
(
css
)
到目前为止,您应该了解如何使用Linux
头
指挥良好。现在,让我们来看看
尾
命令
Linux中的Tail命令
这个
尾
Linux中的命令与
头
命令
然而,与
头
命令
尾
命令打印特定文件的最后几行(默认为10行)。
的基本语法
尾
命令是:
尾
[选项]
文件夹
代码语言:
CSS
(
css
)
例如,以下命令将打印
/etc/locale.gen
文件
tail/etc/locale.gen
#zh_HK
.UTF-8
UTF-8
#zh_HK
BIG5-kscs
#zh_SG
.UTF-8
UTF-8
#zh_SG
.GBK
GBK
#zh_SG
GB2312
#zh_TW
.EUC-TW
EUC-TW
#zh_TW
.UTF-8
UTF-8
#zh_TW
BIG5
#zu_ZA
.UTF-8
UTF-8
#zu_ZA
ISO-8859-1
代码语言:
CSS
(
css
)
使用tail命令输出特定数量的行
类似于
头
命令,可以使用打印最后几行
n
选项,如下所示。
tail-n 3/etc/locale.gen
#zh_TW
BIG5
#zu_ZA
.UTF-8
UTF-8
#zu_ZA
ISO-8859-1
代码语言:
CSS
(
css
)
如何将tail命令与管道一起使用
早些时候,我们通过管道从
头
进入
ls
。同样,我们也可以将其他命令的输出管道传输到
尾
.
例如,要识别中的五个文件或文件夹
等
目录,并通过管道将输出发送到
尾
命令,类型:
ls-t/etc/|tail-n 5
wpa_供应商
libpaper
d
纸张大小
mdadm
.conf
gssapi_tech
.conf
代码语言:
CSS
(
css
)
使用tail命令监视文件的更改
中还有一个更强大且广泛使用的功能
尾
命令这就是它的全部内容。
有时,我们要检查的输入文件正在更改。例如,正在运行的应用程序可以将其输出附加到日志文件中。
因此,如果我们执行
尾
带有的命令
f
选项,所有新添加的行都将附加到标准输出中。
因此,这可能是最实用和最常用的选项
尾
命令
例如,您可以看到添加到Nginx日志文件末尾的新行,如下所示:
尾部-f/
var
/log/nginx/access.log
代码语言:
JavaScript
(
javascript
)
172.16
1.
.122
- - [
08
四月
2021
:
08
:
15
:
32
+
0000
]
“POST/wp-admin/admin-ajax.php HTTP/1.1”
200
109
"https://linuxwizard.com/wp-admin/post.php?post=18254&action=edit"
“Mozilla/5.0(X11;Linux x86_64;rv:87.0)Gecko/20100101 Firefox/87.0”
172.16
1.
.122
- - [
08
四月
2021
:
08
:
19
:
27
+
0000
]
“获取/馈送/HTTP/1.1”
304
0 "-"
“Mozilla/5.0(X11;Linux x86_64;rv:78.0)壁虎/2010101 Thunderbird/78.8.1”
172.16
1.
.122
- - [
08
四月
2021
:
08
:
19
:
49
+
0000
]
“HEAD/feed/HTTP/1.1”
200
0 "-"
Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/77.0386.520 Safari/537.36
代码语言:
JavaScript
(
javascript
)
随着每个新的日志条目被添加到日志文件,
尾
将更新其在终端窗口中的显示。
如何在Linux中同时使用head和tail命令
作为
尾
和
头
命令打印文件的不同部分,我们可以将这两者结合起来打印一些高级过滤的文件内容。
例如,如果要从任何文件的中间读取内容,则必须同时使用这两个命令。
假设我们想从第5行到第10行
/etc/passwd
文件起初
头
命令将检索前十行,然后
尾
命令将从的输出中检索最后五行
头
命令。
head-n 10/etc/passwd|tail-n 5
http:x:
33
:
33
::
/srv/
http:
/usr/
bin/nologin
没有人
:x:
65534
:
65534
没有人
u
sr/bin/nologin
dbus
:x:
81
:
81
:系统消息总线:
u
sr/bin/nologin
systemd日志远程:x:
982
:
982
:systemd日志远程:
u
sr/bin/nologin
systemd网络:x:
981
:
981
:systemd网络管理:
u
sr/bin/nologin
代码语言:
JavaScript
(
javascript
)
结论
在本文中,我们通过示例了解了这两个命令的典型用法。正如你所看到的
尾
和
头
命令可以方便地控制将哪些文件内容打印到屏幕上。
事实上,它们是灵活的命令,可以显著改进文件的管理。所以,试试看。
需要更多详细信息吗?检查
头
,以及
尾
命令手册页。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...