前言

在嵌入式领域不管是新人还是经验丰富的人员linux内核,每天都会和文件打交道嵌入式linux驱动程序设计从入门到精通,每天都会查看文件,我接下来汇总一下在Linux系统中都可以通过哪些方式查看文件。并且我会将相关指令的基础用法和一些高级用法都分享给大家哈。

1、一次性查看整个文件

我们首先介绍一次性查看整个文件的指令,这个适用于查看小文件的场景。

1.1 cat命令

这个cat命令是我们最常见最熟悉的命令了,也是最常用的指令了,大家平常是不是只用 cat + 文件名 的形式去查看文件例如:cat sata.c

linux系统错误日志_Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc

cat命令常用的示例截图

只会这个 cat + 文件名 还远远不够,接下来我在分享几个 cat 命令的高级用法哈

1.1.1 cat -n 文件名(显示行号)

这个指令执行完能将文件中对应的行号进行显示出来,只写出命令没有什么意思,我还附带上自己的实操截图以及和原始的 cat sata.c的对比图,这样大家会更清晰。

cat -n sata.c

Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志

cat -n sata.c

cat -A sata.c(显示文件所有字符)

cat -A 是 Linux/Unix 系统里 cat 命令的一个显示所有字符选项,核心作用是:把文件里看不见的特殊字符(换行、空格、制表符等)显示成可见符号

-A 等价于 -vET 三个选项的组合:

简单说:-A = 显示文件里所有隐藏的格式符号。

文件描述的可能不够直观,直接展示相关指令的对比图如下:

cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令_linux系统错误日志

指令对比图

1.2 tac 倒序查看(从最后一行往上)

在实际工作中 Linux一些运行日志 都是最新内容在最后 直接翻到底太累,tac 直接最新日志放最上面,排查报错、看最新报错首选。

或者将 有序文本反转行顺序 比如时间序列、序号列表倒排。

或者 有些导出文件行顺序颠倒,直接tac转正

tac 文件名

linux系统错误日志_Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc

1.3 nl 带行号打印

这个时候你可能会有疑问了,前面不是已经介绍了 cat -n + 文件名就能输出行号了吗,这里为啥还要介绍另外一个命令呢。其实nl指令和 cat -n 指令还是有区别的,这次我先不解释有啥区别,直接给大家一个对比图,大家先观察一下哈linux系统错误日志,看看是否能找出差异。

nl 文件名

cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志_Linux查看文件命令

nl和cat -n指令的对比图

cat -n 不管有没有内容,每行都打行号 。 空白行、纯空行全部编号

nl 纯空行不显示行号。只有有字符的行才编号

一句话总结:

cat -n:所有行全都编号,空行也编。

nl:默认只给非空行编号,纯空行不编。

2、分页查看(大文件首选)

我们已经掌握了查看小文件的场景了linux系统错误日志,那么我们遇到大文件的时候,如果用cat命令查看的话,整个屏幕放不下,只能在屏幕上展示文件的最后的信息,这个时候,我们就需要更换查看命令了。

2.1 more 分页浏览

more 文件名
# 空格下一页,回车下一行,q退出

linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令

linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令

more + 文件里之后的效果

或者执行 more -d 文件名 这个指令会在 屏幕底部会显示:--更多--(下一行:回车,下一屏:空格,退出:q,帮助:h)

2.1.1 more + 数字 (按照指定的行数进行切页显示)

在执行 more 查看大文件的时候 执行 空格的话,是直接整个屏幕直接切换到下一页了,举个例子,你的显示器能显示 10行,more 查看的时候 在屏幕上展示文件的 1到10行,当你按照 空格键的时候 屏幕直接显示 11到20行了。这个时候你可能会感觉有些跳跃,这个时候你是不是在思考 是否能 在我按下空格的时候 每 5行 的进度进行展示呢。答案是可以的哈,接下来的 more + 数字就是介绍这个的哈

more -5  README

Linux查看文件命令_linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc

对应的操作指令

2.2 less 最强分页查看(推荐)

前面介绍的more只是开胃菜,less才是完美指令

more:只能往下翻,功能弱

less:上下随便翻,功能最全,日常优先用 less

less 文件名
# 上下箭头翻页,/搜索,q退出

linux系统错误日志_Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc

less指令

2.2.1 less -N 文件名

Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志

less指令显示文件行号

less的汇总

1. 翻页

2. 快速跳转(超级好用)

3.搜索(工作最常用)

向下搜索

/你要搜的内容

向上搜索

?你要搜的内容

n 跳到下一个匹配

N 跳到上一个匹配

3.只看头部 / 尾部

大文件有时候,我们只需要查看文件的前10行即可或者 尾部的10即可

3.1 head 查看开头

head 文件名          # 默认前10行
head -n 20 文件名     # 前20行

Linux查看文件命令_linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc

head 文件名 # 默认前10行

cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令_linux系统错误日志

head -n 20 文件名 # 前20行

如果我们想让打开的文件带上对应的行号

这个时候就可以执行

head -n 20 文件名 | cat -n
例如 
head -20 README | cat -n

cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志_Linux查看文件命令

展示行号

3.2 tail 查看结尾

tail 文件名           # 默认后10行
tail -n 20 文件名     # 后20行
tail -f 文件名        # 实时监控日志(最常用)
tail -F 文件名        # 跟踪文件改名续读

linux系统错误日志_Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc

如果我们想让打开的文件带上对应的行号

这个时候就可以执行

tail -n 20 文件名 | cat -n
例如 
tail -20 README | cat -n

Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志

展示行号

4、筛选查看(过滤内容)

Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志

如何查询文件中的关键字呢,可以执行下面这些指令,今天就不详细介绍了,先让大家有一个概念知道这个grep指令是进行搜索查询的,等后续会专门介绍grep命令的用法

grep 关键词 文件名
grep -n 关键词 文件名  # 显示匹配行号
grep -v 关键词 文件名  # 排除含关键词行

5、查看文件属性 / 类型 / 编码5.1 file 查看文件类型

file 文件名

cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令_linux系统错误日志

查看可执行程序

linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令

查看软连接

Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志

查看压缩包

linux系统错误日志_Linux查看文件命令_cat tac nl less more head tail grep file od hexdump wc

查看普通的文件

5.2 od 二进制 / 十六进制查看

od 文件名        # 八进制
od -x 文件名     # 十六进制

cat tac nl less more head tail grep file od hexdump wc_linux系统错误日志_Linux查看文件命令

5.2 hexdump 十六进制查看文件

hexdump 文件名

6、统计类(也算查看内容信息)6.1 wc 统计行数、单词、字节

wc -l 文件名  # 统计行数
wc -w 文件名  # 单词数
wc -c 文件名  # 字符数

Linux查看文件命令_linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc

wc -l

linux系统错误日志_cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令

wc -w

cat tac nl less more head tail grep file od hexdump wc_Linux查看文件命令_linux系统错误日志

wc -c

最后

在Linux系统中大家还知道有哪些命令可以查看文件呢,或者大家一般都喜欢用什么命令进行查看文件呢,在评论区聊一聊,向小伙伴们展示一下 高超的 查看文件的技巧哈。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复