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
)
结论
在本文中,我们通过示例了解了这两个命令的典型用法。正如你所看到的
尾
和
头
命令可以方便地控制将哪些文件内容打印到屏幕上。
事实上,它们是灵活的命令,可以显著改进文件的管理。所以,试试看。
需要更多详细信息吗?检查
头
,以及
尾
命令手册页。
如何使用Docker安装WordPress:一个易于遵循的指南
WordPress是全球最受欢迎的CMS(内容管理系统),这使它成为构建新网站时的首要考虑因素。它建立在MySQL数据库上,并进行PHP处理。 设置本地WordPress安装涉及多个步骤,而且可能很耗时。通常,您需要设置一个本地web服务器,配置服务器以执行PHP代码,并设置一个MySQL数据库。 然而,建立本地WordPress环境的最简单方法是使用Docker的容器化。 1.安装Docker
KaOS 2024.01提供纯等离子6体验
KaOS是一款受Arch Linux启发但完全专注于Plasma桌面的独立滚动发行版,推出了KaOS 2024.01,标志着发行版发展的新时代。这就是它的全部内容。 KaOS 2024.01用Plasma 6开启新时代 最新的稳定ISO KaOS 2024.01告别了Plasma 5,欢迎Plasma 6作为其默认桌面环境。 这一转变历时近十五个月,有望增强用户体验,在发布Plasma 6候选版本
Osysinfo:在Linux上查看系统详细信息的基本CLI工具
有很多工具可以查找有关Linux系统的信息,但其中许多工具都非常深入,您需要从所有这些工具中搜索特定信息。对于这些需要记住的不同软件,您通常还需要多个完全不同的命令。 Osysinfo允许您通过标志和这些标志中的选项轻松筛选想要查看的信息。想看看它提供的一切吗?没问题。只想查看基本的CPU信息吗?就在那里。只想看看你的内核版本吗?Osysinfo已经帮你搞定了。 如前所述,它并没有深入到细节中,在
FTP与FTPS与SFTP的区别
FTP、FTPS和SFTP是用于在网络上传输文件的协议。虽然这些协议的缩写词相似,但它们之间存在一些关键区别。主要是数据交换方式、提供的安全级别和防火墙注意事项。 在FTP、FTPS和SFTP之间进行选择时,权衡每个选项的利弊将使用户更好地了解可用的选择。 以下是FTP与FTPS与SFTP的正面比较,概述了每种传输协议的优势和局限性。 什么是FTP FTP代表文件传输协议。 它创建于20世纪70年
如何使用手势触发FaceTime视频通话中的反应
厌倦了Memojis和一键过滤器?苹果提供了一种新的方式,让你参与虚拟的面对面会议,并做出反应。你可以在FaceTime和其他视频通话应用程序中使用不同的手势来触发增强现实效果。 让我们看看反应是什么,谁可以使用,所有可用的手势,以及如何在不需要时禁用该功能。无论您使用iPhone、iPad还是Mac,我们都能为您提供帮助。 什么是反应,哪些设备支持它们? 反应是由特定手势触发的增强现实效果。当您