Linux查看文件内容
Linux命令查看文本文件有很多命令,最熟悉的是cat,除此之外还有tac、more、less等文件查看命令。
1、cat
Linux中最常用的查看文件内容命令,查看文件全部内容。详见cat: Concatenate and write files。
1.1、选项
使用--help查看cat命令还有如下这么多的可选参数,不过平时基本上都用不到。
-A 等效于-vET
-b 数字非空输出行,覆盖-n
-e 等效于-vE
-E 在每行末尾显示$
-n 编号所有输出行
-s 抑制重复的空输出行,仅输出一个空行而不是多个空行
-t 等效于-vT
-T 将TAB字符显示为^ I
-u (忽略)用于POSIX兼容性
-v 使用“ ^”符号显示LFD和TAB以外的控制字符,并在高位设置了“ M-”的字符之前
--help 显示此帮助并退出
--version 输出版本信息并退出
1.2、示例
通常和grep筛选命令一起使用,grep筛选关键字还可以--color加上颜色突出显示。
cat 文件名 | grep --color com.android.internal2、tac
细心的人可以已经发现tac命令倒过来就是cat,没错,这个命令也是查看全部文件内容,不过是将文件内容一行一行倒序显示。
tac [OPTION] ... [FILE | IO]
可选参数如下:
-b,--before 在分隔符之前而不是之后
-r,-regex 将分隔符解释为正则表达式
-s,--separator = STRING 使用STRING代替换行符作为分隔符
--help 显示此帮助并退出
--version 输出版本信息并退出
3、more
分页显示文件内容,只能向后查看,无法向前。
more [options] file
选项:
[空格键] 下一页
[回车键] 下一行
-d 显示帮助而不是响铃
-f 立刻显示出文件名以及目前显示的行数
-l 抑制换页后的暂停
-p 不滚动,不清理屏幕并显示文本
-c 不滚动,不显示文本并清理行尾
-u 抑制下划线
-s 将多个空白行压缩为一个
-NUM 指定每屏的行数
+NUM 从行号NUM + / STRING开始的显示文件从搜索字符串匹配开始的显示文件
-V 输出版本信息并退出
4、less
less命令和more类似,唯一区别在于可以向前翻页。more命令查看内容只能往后看,一直翻,错过的内容不能再向上翻回去。
- [空格键] 向下翻一页
- [PageDown] 向下翻动一页
- [PageUp] 向上翻动一页
- /字符串 向下查询“字符串”这个关键字;
- ?字符串 向上查询“字符串”这个关键字;
- n 重复前一个查询(与/或?有关);
- N 反向重复前一个查询(与/或?有关);
- q 代表立刻离开less,不再显示该文件内容
详见
5、head
head命令查看文件的开头内容,默认将每个FILE的前10行打印到标准输出。
head [OPTION] ... [FILE] ...
-c,--bytes = [-] K打印每个文件的前K个字节;以“-”开头,打印每个文件中除最后K个字节以外的所有字节;K可能有一个乘数后缀:b 512,kB 1000,K 1024,MB 1000 * 1000,M 1024 * 1024,GB 1000 * 1000 * 1000,G 1024 * 1024 * 1024等,对于T,P,E,Z,Y依此类推。
-n,--lines = [-] K打印前K行,而不是前10行;以“-”开头,打印每个文件中除最后K行外的所有行
-q,-quiet,-silent永远不会打印给出文件名的标题
-v,--verbose总是打印给出文件名的标题
--help显示此帮助并退出
--version输出版本信息并退出
详见head: Output the first part of files
6、tail
和head正好相反,tail显示文件尾部的内容。默认显示倒数10行。
tail [OPTION]... [FILE]...
-c,--bytes = K 输出最后K个字节;或使用-c + K输出从每个文件的第K个字节开始的字节
-n,--lines = K 输出最后K行,而不是最后10行;或者使用-n + K以Kth开头输出
-q,-quiet,-silent 从不输出提供文件名的头文件
--retry 如果无法访问,请继续尝试打开文件
-v,--verbose 总是输出提供文件名的头文件
--help 显示此帮助并退出
--version 输出版本信息并退出
详见tail: Output the last part of files
7、nl
nl查看文件的时候显示行号。
nl [OPTION] ... [FILE] ...
-b,--body-numbering = STYLE 使用STYLE为正文行编号
-d,--section-delimiter = CC 使用CC分隔逻辑页面
-f,--footer-numbering = STYLE 使用STYLE为页脚行编号
-h,--header-numbering = STYLE 使用STYLE为标题行编号
-i,--line-increment =NUMBER 每行增加NUMBER行号
-l,--join-blank-lines =NUMBER 将NUMBER个空行组计为一个
-n,--number-format = FORMAT 根据FORMAT插入行号
-p,-no-renumber 不会在逻辑页上重置行号
-s,--number-separator = STRING 在可能的行号后添加STRING
-v,--starting-line-number = NUMBER 每个逻辑页面上的第一行号
-w,--number-width = NUMBER 使用NUMBER列作为行号
--help 显示此帮助并退出
--version 输出版本信息并退出
详见nl: Number lines and write files
8、od*
od以二进制的方式读取文件内容,这个不常用。
od [-t TYPE]... [FILE]...
8.1、可选参数
-A,--address-radix = RADIX 文件偏移量的输出格式; RADIX是[doxn]之一,代表十进制,八进制,十六进制或无
-j,--skip-bytes = BYTES 首先跳过BYTES输入字节
-N,--read-bytes =BYTES 字节限制转储到字节输入字节
-S BYTES,--strings [= BYTES] 输出至少包含BYTES图形字符的字符串;未指定BYTES时暗指3
-t,--format = TYPE 选择输出格式
-v,--output-duplicates 不使用*标记行抑制
--help 显示此帮助并退出
--version 输出版本信息并退出
8.2、输出内容格式-t
-t 后面接各种类型的输出
①-t a:默认字符输出

②-t c:ASCII字符集输出

③-t d[size]:十进制输出数据,每个数据占用size bytes
④-t f[size]:浮点数进制输出数据

⑤-t o[size]:八进制输出数据
⑥-t x[size]:十六进制输出数据

参考资料:


