
less是Linux/Unix系统中功能强大的文本分页查看器,是传统more命令的增强替代品。与more相比,less支持双向滚动(可以向上翻页)、搜索高亮、实时跟踪、多种文件编码等高级功能。它的名称源于“less is more”的幽默反讽。
less是查看大型日志文件、代码文件或命令输出时的理想工具,能够在不需要加载整个文件到内存的情况下高效浏览,支持向前/向后导航、模式搜索、行号显示等功能。掌握less是日常Linux工作流中提升效率的必备技能。
1. 基本用法
| 命令 | 说明 |
|---|
less file.txt | |
less /var/log/syslog | |
command | less | |
less +G file.txt | |
less +/pattern file.txt | |
less --help | |
2. 导航键
| 按键 | 说明 |
|---|
Space | |
b | |
Enter | |
k | |
d | |
u | |
g | |
G | |
50g | |
F | 跟踪模式(类似tail -f),实时显示新增内容(按Ctrl+C停止) |
q | |
h | |
3. 搜索与匹配导航
| 按键 | 说明 |
|---|
/pattern | |
?pattern | |
n | |
N | |
&pattern | |
& | |
Ctrl+F | |
Ctrl+B | |
搜索技巧:
- 高亮所有匹配项:
--hilite-search选项
4. 常用启动选项
| 选项 | 说明 |
|---|
-N | |
-S | |
-R | |
-i | |
-F | |
-X | |
-c | |
-s | |
-p pattern | |
+F | |
5. 日志与输出工作流
| 命令 | 说明 |
|---|
less +F /var/log/syslog | |
journalctl -xe | less | |
dmesg | less -R | |
ps aux | less -S | |
git log | less -N | |
grep -R "ERROR" /var/log 2>/dev/null | less | |
tail -f app.log | less -R | |
cat largefile.txt | less | |
6. 内部命令(运行时操作)
7. 实用组合模式
| 命令/操作 | 说明 |
|---|
less -NRS app.log | |
grep "error" app.log | less +F | |
less --follow-name /var/log/nginx/access.log | |
journalctl -u nginx -f | less -R | |
cat file1 file2 | less | |
less -f /dev/ttyUSB0 | |
diff -u file1 file2 | less -R | |
export PAGER="less -R"; man ls | |
8. less vs more vs tail 对比
选择建议:
9. 常用选项速查
| 选项 | 完整名称 | 说明 |
|---|
-N | | |
-S | | |
-R | | |
-i | | |
-F | | |
-X | | |
-c | | |
-s | | |
-f | | |
-p | | |
+F | | |
+G | | |
+/pattern | | |
10. 故障排查
| 问题 | 解决方法 |
|---|
| 搜索不到预期文本 | 检查大小写(使用-i);确认搜索模式正确;使用&检查是否处于过滤模式 |
| 颜色代码显示为乱码 | 使用-R选项显示ANSI颜色;确保输出包含颜色代码 |
| 长行换行难以阅读 | |
| less立即退出 | 内容可能一屏显示完,移除-F选项;使用less -X保持屏幕内容 |
| 管道输入后无法搜索历史 | 重新执行命令并用less分页;| less只能查看当前输出 |
跟踪模式(+F)无新输出 | 确认文件正在被写入;使用Ctrl+C退出跟踪,用/搜索历史内容 |
| 文件包含非ASCII字符乱码 | 检查终端编码设置;使用export LESSCHARSET=utf-8 |
| 书签在重新打开文件后消失 | 书签仅在当前less会话中有效,重新打开文件需重新设置 |
温馨提示: less是日常命令行工作中最常用的工具之一。建议掌握以下技巧:1)查看日志时使用less +F替代tail -f,可以随时用Ctrl+C暂停并搜索;2)使用-R选项保留颜色输出(如dmesg | less -R);3)查看表格数据时使用-S禁用换行;4)在~/.bashrc中设置export PAGER="less -R"让man等命令使用less并保留颜色;5)使用&pattern过滤行后,可以快速定位关注的内容。对于需要同时查看多个日志的场景,可以结合tmux或screen使用多个less会话。
关注公众号(haopython),请回复: LLTLESS