Skip to main content

Linux 核心命令

文件查看编辑命令 less

less 是一个超级好用的 Linux 命令,用来查看文件内容,特别是大文件,比 cat 或 more 好用多了!它可以让你上下翻页、搜索、跳转,甚至还能处理压缩文件。

1. 基本用法:打开文件

最简单的用法就是用 less 打开一个文件:

less filename.txt

这会把 filename.txt 的内容显示在终端上,一次显示一屏,屏幕底部会有一个冒号 :,表示 less 正在等待你的操作。

  • 退出:按 q 键,立马退出 less
  • 翻页
    • 向下翻一页:按 Spacef(forward)。
    • 向上翻一页:按 b(backward)。
  • 上下移动
    • 向下移动一行:按 Enterj
    • 向上移动一行:按 k

2. 移动到文件开头或结尾

如果你想快速跳到文件的某个位置,less 提供了一些快捷键:

  • 跳到文件开头:输入 g
  • 跳到文件结尾:输入 G
  • 跳到特定行:比如想跳到第 50 行,输入 50g:50 然后回车。

这些操作特别适合浏览长日志文件,比如查看开头或结尾的关键信息。

3. 搜索内容

less 的搜索功能非常强大,类似 Vim 的搜索。假设你在查看一个超长的日志文件,想找某个关键词:

  • 向后搜索:输入 ?关键词 然后回车,比如:
?error

跟向前搜索类似,只是方向相反。

  • 向前搜索:输入 /关键词 然后回车,比如:
/error

这会高亮第一个匹配的 “error”。按 n 找下一个匹配,按 N 找上一个匹配。

小贴士:搜索是大小写敏感的,如果想忽略大小写,启动 less 时加上 -I 参数:

less -I filename.txt

4. 显示行号

有时候你想知道当前在文件的哪一行,less 可以显示行号:

  • 如果已经在 less 里,输入 = 也能显示当前行号、文件总行数等信息。

启动时加 -N 参数:

less -N filename.txt

每行前面都会显示行号,方便定位。

5. 实时查看文件变化

如果你在查看一个正在更新的文件(比如日志文件),可以用 +F 选项,让 lesstail -f 一样实时显示文件尾部的新内容:

less +F logfile.txt
  • 进入实时模式后,屏幕会停在文件末尾,新内容会自动追加。
  • 想暂停实时模式,随时按 Ctrl+C,然后可以用正常的 less 命令翻页或搜索。
  • 暂停后想回到实时模式,输入 F

这个功能对监控日志特别有用,比如查看服务器的实时输出。

6. 查看多个文件

less 支持一次打开多个文件,切换起来很方便:

less file1.txt file2.txt file3.txt
  • 切换文件
    • 下一个文件:输入 :n
    • 上一个文件:输入 :p
  • 查看当前文件信息:输入 :f,会显示当前文件的名字和路径。

7. 处理压缩文件

less 还能直接打开 .gz.bz2 这种压缩文件,不需要先解压:

less archive.log.gz

less 会自动解压并显示内容,超级方便!这得益于 less 内部调用了 zlessbzless

8. 用标记定位

如果你在一个长文件中反复跳转,可以用标记功能:

  • 设置标记:输入 m 然后跟一个字母,比如 ma,会在当前位置设置标记 “a”。
  • 跳转到标记:输入 '(单引号)然后跟标记字母,比如 'a,就会回到标记 “a” 的位置。

标记功能在分析复杂文件时特别好用,比如你想在几个关键位置之间来回切换。

9. 自定义显示样式

less 支持一些选项来调整显示效果:

显示控制字符:如果文件里有不可见字符(比如制表符),可以用 -r-R 显示原始字符:

less -r filename.txt

-R-r 更智能,只显示有用的控制字符,比如颜色代码。

折行显示:默认情况下,超长行会被截断。如果想让长行自动折行,启动时加 -S 的反向选项 --chop-long-lines(默认是开启截断的,所以要禁用截断):

less --no-chop-long-lines filename.txt

10. 结合管道使用

less 不仅能直接打开文件,还能接收管道输入。比如,你可以用 catgrep 的输出作为 less 的输入:

cat logfile.txt | less

或者:

grep "error" logfile.txt | less

这样可以先过滤内容,再用 less 浏览,适合处理大量数据。

11. 常用选项一览

启动 less 时可以用一些选项来增强功能,下面是常用的:

  • -i:忽略搜索时的字母大小写。
  • -N:显示行号。
  • +F:实时查看文件尾部(类似 tail -f)。
  • -S:截断长行(默认开启),用 --no-chop-long-lines 取消截断。
  • -R:显示带颜色的控制字符(比如日志中的 ANSI 颜色)。
  • -J:在左边显示状态栏,标出搜索结果的位置。

示例:组合多个选项:

less -i -N -R filename.txt

12. 打开时直接跳到指定位置

你可以用 + 加上命令,让 less 启动时直接执行某些操作:

直接进入实时模式:

less +F logfile.txt

跳到第 100 行:

less +100g filename.txt

跳到文件末尾:

less +G filename.txt

13. 查看 less 的帮助

less 里随时按 h 键,会弹出一个详细的帮助页面,列出所有快捷键和命令。看完帮助后按 q 退出帮助页面,继续浏览文件。