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
)
结论
在本文中,我们通过示例了解了这两个命令的典型用法。正如你所看到的
尾
和
头
命令可以方便地控制将哪些文件内容打印到屏幕上。
事实上,它们是灵活的命令,可以显著改进文件的管理。所以,试试看。
需要更多详细信息吗?检查
头
,以及
尾
命令手册页。
具有独特功能的6款最佳Mac图像查看器应用
通过Dropbox的Gallery视图,您可以在Mac上滚动查看照片文件夹,并具有增强的预览窗格和丰富的元数据。预览作为Mac的基本照片查看器工作正常,但它缺乏导航控件,理想的查看体验和其他功能。但有时候,你想要的比这些应用程序提供的更多。 您不需要Apple Photos、Adobe Lightroom或支持数据库的应用程序来更新和组织您的收藏,同时显示图像。我们将向您展示一些具有Mac独有功能
Debian 12.5更新推出密钥安全补丁
在之前的12.4更新整整两个月后,Debian项目宣布Debian 12.5立即可用,这是其稳定的“书虫”系列的第五次更新。 这个最新版本主要包括错误修复和安全补丁。这是因为Debian的小版本只关注系统稳定性,而不是添加新功能。 用户可以通过任何最新的Debian镜像将其软件包无缝更新到最新版本,确保其系统能够抵御最新发现的漏洞。 Debian 12.5 Debian 12.5在一系列软件包中引
如何在Windows上安装Kali Linux?
Kali Linux是一个基于 Debian 的开源 Linux 发行版,专为复杂的渗透测试和安全审计而设计。 Kali Linux 包含数百种用于各种信息安全活动的工具,例如渗透测试、安全研究、计算机取证和逆向工程。这种多平台解决方案可供信息安全专家和爱好者免费使用。您可以通过替换现有操作系统来安装 Kali Linux,但在虚拟机上使用它是更好、更安全的选择。它可以使用 Virtual Box
PulseAudio 17.0增强了蓝牙和ALSA支持
在很长一段时间里,PulseAudio是Linux的首选声音服务器,可靠地满足了无数用户的多媒体需求。然而,形势正在演变。 近年来,PipeWire,一种更通用、更现代的音频框架,已经成为首选,现在被大多数Linux发行版广泛采用为默认框架。 这种转变大大减缓了PulseAudio的开发速度,自上一个版本16发布以来,有一年半的时间间隔。 PulseAudio的开发速度大幅放缓也就不足为奇了。我们
如何使用Apple的日志应用程序进行个性化日志
试着养成写日记的习惯,但每次尝试都会失去动力?苹果的日记本应用程序简化了记录你的想法和保存你的记忆的过程。从创建第一个条目到自定义它,以下是您需要知道的全部内容。 如何创建日记帐分录 之一 iOS 17.2更新带来的功能是一款名为《日记本》的应用,苹果设计这款应用是为了帮助你反思和练习感恩。一旦你将iPhone升级到iOS 17.2,Journal应用程序应该会出现在你的主屏幕上。以防您不小心将其