1. 前言
本文主要讲解linux less命令,详细解释该命令的作用与演示相关用法。
Do more with less. 学习在Linux中使用less的命令来查看大文件和跟踪日志文件。在本教程中解释的less命令的最常见用法。
在Linux命令行中有读取文本文件的方法。cat可能是几乎每个Linux用户在这方面都知道的最基本的命令。但是cat并不总是显示文件内容的最佳选项。
假设您有一个超过一千行的文本文件。使用cat命令可以简单地用这些行填充整个终端屏幕。在这里使用cat命令之后,不能执行任何其他操作,比如搜索特定文本。
这就是less命令的好处。
2. Linux里的`less`命令是什么?需要详细解释吗?
使用less命令,您可以阅读大型文本文件,而不会打乱您的终端屏幕。您还可以搜索文本并使用它实时监视文件。
有些人喜欢使用vim来读取大型文本文件。但是less比Vim或其他类似的文本编辑器更快,因为它在启动之前不会读取整个文件。因为less是“只读”的,所以您没有意外编辑正在查看的文件的风险。
less命令的语法真是超级简单:
假设文件名为filename
- less filename
有许多选项使用less的命令,但是最好关注对您更有用的实际用法。
让我们来看看Linux中一些最有用的less命令示例。
3. Linux中`less`命令实用案例演示
Linux中less命令实用案例演示
让我们通过一些实用案例来看看如何在Linux中使用less命令。
最好是使用一个大文件来理解less命令的用法。与其手工创建一个巨大的文本文件,我建议将现有文件从/etc/services复制到主目录或任何您想要练习这些命令的地方。
/etc/services是一个大文件,有数百行,一旦复制,就可以将其用于实践。
(1) 使用`less`命令查看文本文件
如下面语法所示,可以使用less命令以如下方式查看文件:
- less [option]<filename>
输出将是这样的:
使用less命令查看文本文件
注意:如果您使用less查看一个小文件,您将在顶部看到空的空白行。不要慌。文件中没有多余的行。只是less命令命令的显示方式而已。
(2) 退出`less`
如果你不习惯less命令,你可能很难找到如何退出less。相信我,这一点也不复杂。只需在任何给定的点按“q”退出less。
我在前面添加了现有的命令,以便您可以轻松地遵循其他less命令示例,因为您需要在不同的示例之间退出文件(如果您在阅读本文时正在练习这些命令)。
(3) `less` 的其它例子
less的输出被划分为若干个页面。您将只看到填充到终端屏幕的文本。
您可以使用向上和向下箭头键逐行移动。如果您想逐页移动,请使用空格键移动到下一页,并使用“b”键返回到前一页。
如果您想移动到文件的开头,请使用“g”键。如果你想看文件的末尾,按“G”键。
键盘快捷键:
- Up arrow – 向上移动一行
- Down arrow – 向下移动一行
- Space 或者 PgDn – 向下移动一页
- b 或者 PgUp – Move one page up
- g – 移到文件的开头
- G – 移动到文件的末尾
- ng – 移到第n行
(4) 使用`less`显示行号
如果你想在less的命令输出中看到行号,你可以使用选项N,方法如下:
- less -N <filename>
你应该可以看到这样的输出:
less命令详解
(5) `less`命令查找关键字
如果您有一个较大的文本文件,最好搜索特定的文本片段,而不是逐行阅读以手动找到它。
要查找单词、短语甚至正则表达式,请按/并键入您想要查找的任何内容。
- /pattern
你可以看到,匹配的关键字将会以高亮显示:
less命令查找关键字
如果有多个匹配项,您可以按“n”键移动到下一个匹配的文本。您可以使用' N '键返回到前一个匹配项。
/pattern执行向前搜索。你可以用?pattern执行向后搜索。就我个人而言,我更喜欢做一个前向搜索,然后按n或n遍历所有匹配项。无需担心向前或向后搜索。
默认情况下,对小写字母的搜索是区分大小写的。要忽略大小写,可以使用less 命令结合-I选项
- less -I <filename>
如果您忘记使用此选项,请不要担心。你也可以按-I键组合之前,执行搜索。
提示:如果您使用&pattern,它将只显示与模式匹配的行。
(6) `less`命令标记兴趣点的用法
当你在一个大的文本文件中滚动时,你发现了一些有趣的东西,但你也需要继续检查文件,你如何记住那个有趣的点?答案是标记。
less允许你在任何一行中添加标记。你可以在字母后面按下“m”键来加一个记号。
- ma
当你想回到这个标记时,只需输入以下命令:
- 'a
你不受限于一个标记点。您可以在less的代码中添加多个标记。只需为每个标记的位置使用不同的字母。
(7) 用`less`命令实时监控跟踪文件变化
您可能已经知道可以使用tail命令实时监视日志文件。
你也可以用less命令来做同样的事情。您可以使用+F选项实时地看到添加到文件中的新行。
- less +F <filename>
它将显示文件的最后一页,然后等待添加新数据。注意,在此模式下不能执行常规的上下移动。
要退出实时监视,请按Ctrl+C。这样,您将回到less命令的正常视图,并可以正常退出文件。
(8) 用`less`命令查看多个文件
我跟你说实话。这不是我最喜欢的less使用例子,但是你完全可以这样做。
要用更少的时间打开多个文件,只需逐个输入文件名:
- less <filename1> <filename2> <filename3>
您将看到它列出了文件名及其在文件列表中的位置。
用less命令查看多个文件
您可以使用以下键查看列表中的其他文件:
- :n – 查看列表中的下一个文件
- :p – 查看列表中的前一个文件
(9) 结合管道使用`less`命令
less命令可以与使用管道的其他命令结合使用。当您知道某个命令的输出将非常大时,它尤其有用。
例如,dmesg命令的输出通常是数千行。你不希望它淹没你的屏幕,你也不能分析输出。使用less管道,您将有更友好的方式读取输出。
- dmesg | less
4. 额外提示:在Linux中使用`less`命令编辑文件
不,你不能那样做。less命令的最大优点之一是它提供了一个“只读”视图。事实真的如此?
如果你不能用less命令来编辑文本,那我为什么要把它作为案例来写教程呢?因为当你觉得需要编辑你正在查看的文件时,只需按下“v”键。
它将在Linux系统的默认命令行文本编辑器中打开该文件。对于基于Ubuntu的系统,它应该在Nano编辑器中打开。
5. `less`命令更多的功能
我希望您在使用Linux时发现这些命令示例没有那么有用。当然,可以更多地使用less命令。您可以通过查看less command的所有选项来探索它们。