文件查看编辑命令 less
less 是一个超级好用的 Linux 命令,用来查看文件内容,特别是大文件,比 cat 或 more 好用多了!它可以让你上下翻页、搜索、跳转,甚至还能处理压缩文件。
1. 基本用法:打开文件
最简单的用法就是用 less
打开一个文件:
less filename.txt
这会把 filename.txt
的内容显示在终端上,一次显示一屏,屏幕底部会有一个冒号 :
,表示 less
正在等待你的操作。
- 退出:按
q
键,立马退出less
。 - 翻页:
- 向下翻一页:按
Space
或f
(forward)。 - 向上翻一页:按
b
(backward)。
- 向下翻一页:按
- 上下移动:
- 向下移动一行:按
Enter
或j
。 - 向上移动一行:按
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
选项,让 less
像 tail -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
内部调用了 zless
或 bzless
。
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
不仅能直接打开文件,还能接收管道输入。比如,你可以用 cat
或 grep
的输出作为 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
退出帮助页面,继续浏览文件。