Linux head tail less more这些指令详细用法
命令主要用途关键特性推荐度head查看文件开头默认显示前 10 行⭐⭐⭐⭐tail查看文件末尾默认显示后 10 行;-f-F可实时追踪⭐⭐⭐⭐⭐more分页浏览文件只能向下翻页;功能基础⭐⭐ (历史遗留)less分页浏览文件可上下翻页;搜索、过滤等高级功能⭐⭐⭐⭐⭐ (必学)黄金组合:(这是你的瑞士军刀)“从头看 head,从尾看 tail,翻阅查看 less 强,more 是老皇历”。
·
下面我将为你详细解释 head
, tail
, less
, 和 more
的用法、区别以及实用技巧。
1. head
- 查看文件开头
head
命令默认显示文件的前 10 行。
基本语法:
head [选项] [文件]
常用选项:
-n <行数>
或--lines=<行数>
:指定显示文件的开头多少行。- 例如:
head -n 20 file.txt
显示file.txt
的前 20 行。
- 例如:
-c <字节数>
:指定显示文件的开头多少个字节。- 例如:
head -c 100 file.txt
显示file.txt
的前 100 个字节。
- 例如:
使用示例:
# 查看 file.log 的前 10 行 (默认行为)
head file.log
# 查看 file.log 的前 5 行
head -n 5 file.log
# 或者这种简写形式也可以
head -5 file.log
# 查看 file.log 的前 1KB 内容
head -c 1024 file.log
应用场景:
快速检查一个大文件的开头部分,例如确认文件的格式、列名(在 CSV 或数据库导出文件中)或日志文件的启动信息。
2. tail
- 查看文件末尾
tail
命令默认显示文件的最后 10 行。它最强大的功能是可以实时追踪日志文件的更新。
基本语法:
tail [选项] [文件]
常用选项:
-n <行数>
或--lines=<行数>
:指定显示文件的末尾多少行。- 例如:
tail -n 20 file.log
显示file.log
的最后 20 行。
- 例如:
-c <字节数>
:指定显示文件的末尾多少个字节。-f
或--follow
:实时追踪文件末尾的内容更新。这是监控日志文件最重要的选项。- 例如:
tail -f /var/log/syslog
会持续显示写入该日志的新内容。
- 例如:
-F
:类似于-f
,但更强大。即使在追踪过程中文件被轮转(Rotated,例如被日志管理工具重命名或截断),它也能重新打开新文件并继续追踪。监控日志时强烈推荐使用-F
。
使用示例:
# 查看 file.log 的最后 10 行 (默认行为)
tail file.log
# 查看 file.log 的最后 15 行
tail -n 15 file.log
# 简写形式
tail -15 file.log
# 实时追踪 application.log 的更新
tail -f application.log
# 更健壮地实时追踪日志 (应对日志轮转)
tail -F application.log
# 组合使用:从第20行开始显示到文件末尾
# 注意:这其实是 sed 的用法,但常与 tail 概念混淆,这里列出供参考
sed -n '20,$p' file.log
应用场景:
- 查看最近的日志错误信息。
- 实时监控应用程序或系统服务的日志输出(
-f
或-F
)。
3. more
- 分页浏览文件(基础版)
more
是一个早期的分页程序,允许你一页一页地向下浏览长文件。
基本语法:
more [选项] [文件]
常用操作键(在 more
浏览界面中):
空格键
或f
:向下翻一页。回车键
:向下翻一行。b
:向上翻一页(但并非所有版本的more
都支持)。q
或Q
:退出more
。/字符串
:向下搜索指定的字符串。
主要限制:
- 只能向前翻页,不能向后翻页(大部分实现中
b
键无效)。 - 功能比
less
简单。
应用场景:
在只有 more
没有 less
的极简环境中使用。在现代系统中,less
几乎已经完全取代了 more
。
4. less
- 分页浏览文件(增强版)
less
的意思是 “opposite of more”(比 more 更多),它是 more
的增强版,也是最推荐使用的文件浏览工具。
基本语法:
less [选项] [文件]
常用操作键(在 less
浏览界面中):
按键 | 功能 |
---|---|
空格键 或 f |
向下翻一页 |
b |
向上翻一页 |
j 或 ↓ |
向下移动一行 |
k 或 ↑ |
向上移动一行 |
g |
跳到文件第一行 |
G |
跳到文件最后一行 |
/字符串 |
向下搜索字符串(按 n 跳转到下一个匹配项,N 上一个) |
?字符串 |
向上搜索字符串 |
q |
退出 less |
F |
进入实时追踪模式,类似 tail -f (按 Ctrl+C 退出追踪再按 q 退出) |
-N |
启动选项:显示行号(也可以在浏览时输入 -N 然后回车) |
&字符串 |
只显示包含该字符串的行(非常强大的过滤功能) |
为什么 less
比 more
更好?
- 支持上下滚动:可以自由地向前和向后浏览。
- 更强大的搜索:支持向前(
?
)和向后(/
)搜索。 - 界面友好:底部会显示文件名、当前位置、总字节数等信息。
- 无需等待:
less
不会在启动时加载整个文件,所以打开大文件速度极快。 - 额外功能:如行号、文本过滤、仿 tail -f 模式等。
使用示例:
# 查看文件
less large_file.txt
# 查看文件并显示行号
less -N large_file.txt
# 查看命令输出
dmesg | less
# 打开文件后立即执行搜索(跳转到第一个匹配 "error" 的行)
less +/error logfile.txt
应用场景:
- 浏览任何长度超过一屏的文件或命令输出。
- 在日志文件中搜索特定的错误信息。
- 查看代码文件、配置文件等。
总结与对比
命令 | 主要用途 | 关键特性 | 推荐度 |
---|---|---|---|
head |
查看文件开头 | 默认显示前 10 行 | ⭐⭐⭐⭐ |
tail |
查看文件末尾 | 默认显示后 10 行;-f /-F 可实时追踪 |
⭐⭐⭐⭐⭐ |
more |
分页浏览文件 | 只能向下翻页;功能基础 | ⭐⭐ (历史遗留) |
less |
分页浏览文件 | 可上下翻页;搜索、过滤等高级功能 | ⭐⭐⭐⭐⭐ (必学) |
黄金组合:
- 快速检查文件:
head filename
/tail filename
- 实时监控日志:
tail -F application.log
- 浏览和分析文件:
less filename
(这是你的瑞士军刀)
记住这个口诀:“从头看 head,从尾看 tail,翻阅查看 less 强,more 是老皇历”。
更多推荐
所有评论(0)