第5章 查看文件

所属:第二部分 使用文件 来源:Linux命令速查手册

查看文件内容是最常见的操作之一。不同场景下有不同的最佳工具。


5.1 在标准输出设备上查看文件

cat filename

将文件内容全部输出到屏幕。

适合查看小文件,大文件会一滚而过看不清。


5.2 将文件拼接至标准输出设备

cat file1 file2

连接多个文件并依次输出。


5.3 将文件与其他文件拼接

cat file1 file2 > combined.txt

合并多个文件到一个新文件。


5.4 拼接文件,并给文件加上行号

cat -n filename
cat --number filename

显示时加上行号。

cat -b filename

只给非空行加行号。


5.5 分屏查看文本文件

less filename
more filename

分页查看大文件,一屏一屏地看。

less vs more

  • more:只能向下翻,功能简单
  • less:功能更强,支持上下翻、搜索、跳转等,推荐使用

“less is more” —— less 是 more 的增强版

less 常用快捷键

按键功能
空格 / PageDown / f向下翻页
b / PageUp向上翻页
j / 向下一行
k / 向上一行
g跳到文件开头
G跳到文件结尾
q退出
/关键词向下搜索
?关键词向上搜索
n下一个搜索结果
N上一个搜索结果
h显示帮助

5.6 在分页器中搜索

less 中:

  • / 输入关键词,回车开始向下搜索
  • n 跳到下一个匹配
  • N 跳到上一个匹配
  • ? 向上搜索

5.7 在分页查看文件时进行编辑

less 中按 v,会调用默认编辑器(通常是vi/vim)打开当前文件进行编辑。

退出编辑器后回到less。


5.8 查看文件的前10行内容

head filename

默认显示文件前 10行


5.9 查看多个文件的前10行内容

head file1 file2

同时显示多个文件的开头,中间有文件名分隔。


5.10 查看一个或多个文件的前几行内容

head -n 20 filename
head -20 filename

指定显示行数。


5.11 查看文件前几个字节、几K字节或几M字节的内容

head -c 100 filename     # 前100字节
head -c 1K filename      # 前1KB
head -c 1M filename      # 前1MB

按字节数显示。

单位:c(字节), k(KB), m(MB)


5.12 查看文件的最后10行内容

tail filename

默认显示文件最后 10行


5.13 查看多个文件的最后10行内容

tail file1 file2

5.14 查看一个或多个文件的后面几行内容

tail -n 20 filename
tail -20 filename

指定显示最后多少行。


5.15 查看一个或多个文件中不断更新的最后几行

tail -f filename
tail --follow filename
tail -F filename     # 文件被重新创建后也能继续跟踪

实时跟踪文件新增内容,非常适合查看日志文件!

  • 文件有新内容写入时,自动显示在屏幕上
  • Ctrl+c 退出

常用场景:

# 实时查看系统日志
tail -f /var/log/syslog
 
# 实时查看nginx访问日志
tail -f /var/log/nginx/access.log

-F-f 更强大:如果日志文件被轮转(logrotate),-F 能自动重新打开新文件。


5.16 小结

查看文件工具选择指南

场景推荐命令
小文件,全部看完cat
大文件,慢慢看less
只看开头几行head
只看结尾几行tail
实时看日志更新tail -f
加行号显示cat -n

cat、head、tail、less 是查看文件内容的四大神器,各有适用场景。


Linux Shell cat less head tail 文件查看