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
)
结论
在本文中,我们通过示例了解了这两个命令的典型用法。正如你所看到的
尾
和
头
命令可以方便地控制将哪些文件内容打印到屏幕上。
事实上,它们是灵活的命令,可以显著改进文件的管理。所以,试试看。
需要更多详细信息吗?检查
头
,以及
尾
命令手册页。
解释Vi和Vim文本编辑器之间的差异
Vi是Linux的通用文本编辑器。如果你知道如何使用Vi文本编辑器,你可以在任何模式和版本的Linux上编辑任何文本文件。Vim只是Vi的改进版本,但与Vi不同的是,Vim不是通用的。 根据您的Linux发行版,默认情况下可能会安装,也可能不会安装。但让我们先从一点历史开始。 Vi与Vim简史 不及物动词 将其起源追溯到名为的命令行编辑器 预计起飞时间 .Ed是Unix的原始文本编辑器。最初的Vi
GNOME 46桌面环境发布,新增功能如下
又过了六个月,GNOME项目今天发布了备受期待的46版本。虽然它可能不会引入开创性的功能,但它延续了提供干净用户界面的传统,专注于可用性和愉快的桌面体验。 有鉴于此,新版本提供了一些生活质量的改进,进一步完善了以前的GNOME45版本。所以,让我们来看看它们。 GNOME 46桌面亮点 文件应用程序增强功能 GNOME 46中最重要的更新集中在增强Files应用程序中的文件搜索功能上。以前,文件搜
COSMIC桌面将与Pop一起首次亮相_OS 24.04升
System76,流行的基于Ubuntu的Pop_OS Linux发行版正在开发COSMIC,这是一个目前处于alpha阶段的桌面环境。它在开源社区引起了很大的轰动,许多用户都热切地期待着它的发布。原因如下。 多年来,GNOME一直试图“重新教育”用户桌面环境应该如何工作,通常是删除三十多年来桌面体验的主要功能,并对UI和用户与环境的交互引入有争议的更改和方法。 在这种背景下,COSMIC被视为一
如何修复Linux中的"错误拼接文件:文件太大"错误
"拼接文件时出错:文件太大”是一个极其令人困惑的错误,特别是当您将文件移动到一个有足够空间的驱动器时。 不管你可能期望什么,它不涉及驱动器上可用的空间量。幸运的是,这个令人沮丧的错误很容易解决。 为什么会出现“拼接文件错误”? 当文件传输到目标驱动器时,文件大小限制太小,就会出现"拼接文件错误:文件太大"。如果遇到此错误,您需要检查目标驱动器使用的文件系统。在实践中,使用ext或FAT32的驱动器
如何更换AirTag电池
AirTag中的用户可更换电池可使用一年左右。但是,一旦电池耗尽,你需要做什么来更换电池?我们将引导您完成整个过程,以便您能够快速返回使用它。 更换AirTag的电池 在您不知情的情况下,无需担心AirTag的电池电量耗尽。很容易 检查AirTag的电池寿命 使用iPhone或iPad上的“查找我的应用程序”。 苹果 当您的AirTag电池电量不足,需要更换时,您还会收到应用程序的通知。 你的Ai