我今天想和大家分享一些我经常使用来查看文件内容的实用命令,希望这对你们有所帮助。
1. head 命令
head 命令是一个非常有用的工具,它可以用来快速查看文件的开头部分内容。它的基本语法如下所示:
head [options] [file(s)]
例如,以下命令将显示名为 ‘/etc/passwd’ 的文件的前十行。
# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
如果提供了多个文件,则 head 命令将分别显示每个文件的前十行。例如,以下命令将显示每个文件的十行。
# head /etc/passwd /etc/shadow
==> /etc/passwd /etc/shadow $6$85e1:15740:0:99999:7:::
bin:*:15513:0:99999:7:::
daemon:*:15513:0:99999:7:::
adm:*:15513:0:99999:7:::
lp:*:15513:0:99999:7:::
sync:*:15513:0:99999:7:::
shutdown:*:15513:0:99999:7:::
halt:*:15513:0:99999:7:::
mail:*:15513:0:99999:7:::
uucp:*:15513:0:99999:7:::
如果需要检索的行数多于默认的十行,则使用 ‘-n’ 选项与一个指定的整数一起使用,告诉它要检索的行数。例如,以下命令将显示文件 ‘/var/log/yum.log’ 的前 5 行。
# head -n5 /var/log/yum.log
Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686
Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686
Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686
Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch
Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
2. tail 命令
tail 命令与 head 命令相反,用于读取给定文件名的最后十行。tail 命令的基本语法为:
tail [options] [filenames]
例如,以下命令将显示名为 ‘/etc/passwd’ 的文件的最后十行。
# tail /etc/passwd
Debian-exim:x:115:122::/var/spool/exim4:/bin/false
statd:x:111:65534::/var/lib/nfs:/bin/false
sshd:x:112:65534::/var/run/sshd:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/bin/bash
ntp:x:112:120::/home/ntp:/bin/false
messagebus:x:113:125::/var/run/dbus:/bin/false
landscape:x:114:125::/var/lib/landscape:/bin/false
pollinate:x:115:1::/var/cache/pollinate:/bin/false
md5:x:1000:1000:MD5 User,,,:/home/md5:/bin/bash
同样,如果提供了多个文件,tail 命令将分别显示每个文件的最后十行。例如,以下命令将显示每个文件的十行。
# tail /etc/passwd /etc/shadow
==> /etc/passwd false
sshd:x:112:65534::/var/run/sshd:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/bin/bash
ntp:x:112:120::/home/ntp:/bin/false
messagebus:x:113:125::/var/run/dbus:/bin/false
landscape:x:114:125::/var/lib/landscape:/bin/false
pollinate:x:115:1::/var/cache/pollinate:/bin/false
md5:x:1000:1000:MD5 User,,,:/home/md5:/bin/bash
mysql:x:116:124:MySQL Server,,,:/nonexistent:/bin/false
ntp:x:117:123:NTP daemon,,,:/home/ntp:/bin/false
==> /etc/shadow $6$2uo5:17373:0:99999:7:::
backup:*:17371:0:99999:7:::
ntp:*:17371:0:99999:7:::
sshd:*:17371:0:99999:7:::
messagebus:*:17371:0:99999:7:::
landscape:*:17371:0:99999:7:::
pollinate:*:17371:0:99999:7:::
md5:$6$51ev:17371:0:99999:7:::
mysql:!:17392:0:99999:7:::
ntp:!:17392:0:99999:7:::
与 head 命令一样,如果需要检索的行数多于默认的十行,则使用 ‘-n’ 选项与一个指定的整数一起使用,告诉它要检索的行数。例如,以下命令将显示文件 ‘/var/log/yum.log’ 的最后 20 行。
# tail -n20 /var/log/yum.log
Jan 16 00:05:30 Updated: fipscheck-lib-1.4.1-6.el7.x86_64
Jan 16 00:05:31 Updated: libselinux-utils-2.5-15.el7.x86_64
Jan 16 00:05:31 Updated: python-slip-dbus-0.4.0-4.el7.noarch
Jan 16 00:05:31 Updated: mlterm-common-3.8.7-7.el7.x86_64
Jan 16 00:05:31 Updated: libselinux-python-2.5-15.el7.x86_64
Jan 16 00:05:31 Updated: libreport-plugin-rhtsupport-2.1.11-43.el7.x86_64
Jan 16 00:05:31 Updated: libXpm-3.5.12-1.el7.x86_64
Jan 16 00:05:32 Updated: libnl3-cli-3.2.21-10.el7.x86_64
Jan 16 00:05:33 Updated: runc-1.0.0-57.rc8.git9abbd9b.el7.x86_64
Jan 16 00:05:33 Updated: open-vm-tools-11.2.5-2.el7.x86_64
Jan 16 00:05:33 Updated: qemu-guest-agent-4.2.0-31.el7_9.x86_64
Jan 16 00:05:34 Updated: 1:vixie-cron-4.2-25.el7.x86_64
Jan 16 00:05:34 Updated: libXfont-1.5.4-4.el7.x86_64
Jan 16 00:05:34 Updated: libreport-filesystem-2.1.11-43.el7.x86_64
Jan 16 00:05:34 Updated: libXv-1.0.11-1.el7.x86_64
Jan 16 00:05:34 Updated: libjpeg-turbo-1.2.90-8.el7.x86_64
Jan 16 00:05:34 Updated: gnutls-dane-3.3.29-9.el7.x86_64
Jan 16 00:05:34 Updated: libreport-web-2.1.11-43.el7.noarch
Jan 16 00:05:36 Updated: 1:java-1.8.0-openjdk-headless-1.8.0.272.b10-1.el7_9.x86_64
Jan 16 00:05:36 Updated: tuned-profiles-oracle-2.11.0-8.el7.noarch
注意,tail 命令还可以使用 ‘-f’ 选项来实时追踪一个文件的变化,即显示最新的内容。例如,以下命令将实时显示文件 ‘/var/log/messages’ 的新内容。
# tail -f /var/log/messages
3. more 命令
more 命令用于一页一页地显示文件内容。more 命令的基本语法为:
more [options] [filenames]
例如,以下命令将一页一页地显示名为 ‘/var/log/messages’ 的文件内容。
# more /var/log/messages
使用 more 命令,您可以按回车键逐行查看文件内容。如果需要向下滚动到下一页,请按空格键。要退出 more 命令,请按 ‘q’ 键。
more 命令还有一些其他的有用选项:
-
‘-num’:设置一次显示的行数为 num 行。例如,使用下面的命令将一页显示15行。
# more -15 /var/log/messages
-
‘+num’:从文件的第 num 行开始显示。例如,使用下面的命令将从文件的第20行开始显示内容。
# more +20 /var/log/messages
-
‘/pattern’:按指定的模式搜索文件内容,并定位到第一个匹配的行。例如,使用下面的命令查找包含 ‘error’ 的行。
# more /var/log/messages
/error
在 more 命令中,您可以使用上述选项的组合来进行更复杂的操作。例如,以下命令将从文件的第20行开始显示内容,并一次显示10行。
# more +20 -10 /var/log/messages
4. less 命令
less 命令也用于一页一页地显示文件内容,但可以向上和向下滚动,并且可以按关键字搜索文件内容。less 命令的基本语法为:
less [options] [filenames]
例如,以下命令将一页一页地显示名为 ‘/var/log/messages’ 的文件内容。
# less /var/log/messages
使用 less 命令时,您可以使用下列键盘命令:
-
向下滚动一页:按空格键 -
向上滚动一页:按 ‘b’ 键 -
向下滚动一行:按 ‘j’ 键 -
向上滚动一行:按 ‘k’ 键 -
高亮显示搜索关键字:按 ‘/’ 键,然后输入要搜索的关键字(按 ‘n’ 键定位到下一个匹配) -
退出 less 命令:按 ‘q’ 键
less 命令也支持上述的选项,例如,使用 ‘-num’ 选项一次显示 num 行。
# less -15 /var/log/messages
使用 ‘+num’ 选项从文件的第 num 行开始显示。
# less +20 /var/log/messages
使用 ‘/pattern’ 选项按指定的模式搜索文件内容。
# less /var/log/messages
/error
在 less 命令中,您可以使用上述选项的组合来进行更灵活的操作。
这是网站列表。
cat urls.txt
https://google.com
https://twitter.com
https://linkedin.com
5. less 命令
less 命令不仅可以用于查看文件内容,还可以与其他命令的输出一起使用。例如,以下命令将使用管道操作符将 ‘cat urls.txt’ 命令的输出传递给 less 命令,并对其进行逐页查看。
cat urls.txt | less
这将打开一个 less 窗口,您可以使用上面提到的 less 命令来查看输出的内容。您可以按空格键向下滚动一页,按 ‘b’ 键向上滚动一页,按 ‘/’ 键搜索关键字,按 ‘q’ 键退出查看。
6.cat命令
‘cat‘ 命令是一种广泛使用的通用工具。它将标准输入复制到标准输出。
cat 命令的基本语法是:
cat [options] [filenames] [-] [filenames]
cat
最常见的用法是读取文件的内容。要打开一个文件进行读取,只需输入 cat,后面跟一个空格和文件名。
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
…
cat 命令还可以用于将多个文件连接在一起。
# echo 'Hi devops-Team' > 1
# echo 'Keep connected' > 2
# echo 'Share your thought' > 3
# echo 'connect us devops.com@gmail.com' > 4
# cat 1 2 3 4 > 5
# cat 5
Hi devops-Team
Keep connected
Share your thought
connect us devops.com@gmail.com
它还可以用于创建文件。通过执行 cat,后面跟输出重定向操作符和要创建的文件名,可以实现这一点。
# cat > devops.txt
devops 是唯一一个完全致力于 Linux 的网站。
我们可以为 ‘cat’ 命令自定义结束符号。在这里,我们将其实现。
# cat > test.txt
I am Avishek
Here i am writing this post
Hope your are enjoying
end
# cat test.txt
I am Avishek
Here i am writing this post
Hope your are enjoying
还可以用于复制文件。
# cat name.txt
I am a Programmer by birth and Admin by profession
# cat name.txt > name1.txt
# cat name1.txt
I am a Programmer by birth and Admin by profession
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !