使用 cat、more 和 less 命令在 Linux 中查看文件


引言

在 Linux 中,有时我们不想使用 vi 或 vim 打开文件来查看文件内容。相反,我们可以使用其他 Linux 命令,例如“cat”、“more”和“less”。根据用户的需求,可以使用 cat、more 或 less 命令。虽然每个命令都有许多选项或参数,但在本文中,我们将尝试探索每个命令最常用的选项以及一些示例。我们将从最常用的命令“cat”开始,然后转向“more”和“less”命令。

“cat”命令

方法 1:查看文件的全部内容

假设 Linux 中有一个文件 [名称 cat-file.txt],我们想在屏幕上查看该文件的全部内容。然后我们可以使用以下命令

示例

$cat cat-file.txt

输出

Here
is
the content of
the file.
Thanks

方法 2:带行号查看文件的全部内容

示例

$cat –n cat-file.txt

输出

1  Here
2  is
3  the content of
4  the file.
5  Thanks

我们已经了解到,即使文件有大量数据,cat 命令也会将文件的所有内容显示到屏幕上。这可能是 cat 命令的一个限制。让我们看看另外两个命令。

“more”命令

现在我们需要一个大文件来使用 more 命令。让我们创建一个名为“more.txt”的文件,其内容是用户历史记录。

$history > more.txt

方法 1:查看大型文件的内容

示例

$more more.txt

输出

1  wireshark --version
2  iw
3  iwconfig
4  iw wlp2s0 list
5  iwlist
6  iwlist  wlp2s0
7  iwlist  wlp2s0 s
8  iw
9  iw | grep -i monitor
10  iw list
11  iwconfig
12  iw wlp2s0 list
13  iw list
14  iw phy0 list
15  iw
16  iw dev phy0 list
17  iw dev wlp2s0 list
18  iwconfig
19  iw phy0 wlp2s0 list
20  iw phy0
21  iw phy0 info
22  iw phy0 list
23  iw list
24  iw phy0 info
25  sudo init 0
26  x11vnc display :0 --forever
27  iwconfig
--More--(3%)

这是“more”命令在一个屏幕上的输出,它是全部内容的 3%。我们按下“Enter 键”,将看到更多文件内容,如下所示。我们可以使用“空格键”来加快阅读文件的速度。

输出

73  sudo kill -9 1136
74  sudo kill -9 1198
75  sudo apt install vim
76  sudo kill -9  2115
77  ps -aux | grep apt
78  sudo kill -9  2721
79  sudo kill -9  2717
80  ps -aux | grep apt
81  sudo apt install vim
82  ps -aux | grep apt
83  sudo apt install vim
84  ps aux | grep -i apt
85  sudo lsof /var/lib/dpkg/lock
86  sudo lsof /var/lib/apt/lists/lock
87  sudo lsof /var/cache/apt/archives/lock
88  sudo kill -9 2749
89  ps aux | grep -i apt
90  sudo apt install vim
91  vim ~/.bashrc
92  echo $SSLKEYLOGFILE
93  source ~/.bashrc
94  echo $SSLKEYLOGFILE
95  cat /home/rian/.ssl-key.log
96  touch /home/rian/.ssl-key.log
97  cat /home/rian/.ssl-key.log
98  sudo add-apt-repository ppa:ubuntu-mozilla-daily/firefox-aurora
99  sudo apt-get update
--More--(13%)

方法 2:查看多个文件

示例

$ more more-file1.txt more-file2.txt

输出

::::::::::::::
more-file1.txt
::::::::::::::
I am more file 1
--More--(Next file: more-file2.txt)

如果我们按 Enter 键,就可以看到这两个文件。

输出

::::::::::::::
more-file1.txt
::::::::::::::
I am more file 1
::::::::::::::
more-file2.txt
::::::::::::::
I am more file 2

“less”命令

“less”命令与“more”命令几乎相似,但它具有更多优点。

方法 1:查看大型文件的内容

示例

$less more.txt

输出

1  wireshark --version
2  iw
3  iwconfig
4  iw wlp2s0 list
5  iwlist
6  iwlist  wlp2s0
7  iwlist  wlp2s0 s
8  iw
9  iw | grep -i monitor
10  iw list
11  iwconfig
12  iw wlp2s0 list
13  iw list
14  iw phy0 list
15  iw
16  iw dev phy0 list
17  iw dev wlp2s0 list
18  iwconfig
19  iw phy0 wlp2s0 list
20  iw phy0
21  iw phy0 info
22  iw phy0 list
23  iw list
24  iw phy0 info
25  sudo init 0
26  x11vnc display :0 --forever
27  iwconfig
more.txt

现在我们可能想知道 more 和 less 命令之间有什么区别。

因此,一些重要的区别如下:

  • “less”命令比“more”命令快。

  • “less”命令不会像“more”命令那样读取文件的全部内容。

方法 2:带行号查看大型文件的内容

示例

$less –N more.txt

输出

Same output as last command but with line number.

结论

通过本文,我们学习了 Linux 中三个强大的文件查看命令。

此外,我们现在知道,如果文件很小,可以使用“cat”命令;否则,可以使用“more”或“less”命令。此外,如果文件大小很大,则使用“less”命令比“more”命令更好,因为“less”命令不会读取文件的全部内容,并且速度更快。

更新于:2023年3月29日

1K+ 次浏览

启动您的 职业生涯

完成课程后获得认证

开始
广告