Linux:文件内容查询:cat、tac、nl、more、less、head、tail、od

1)cat(concatenate):查看文件内容

用法:cat [-AbEnTv] 路径

选项

选项

说明

A 相当于-vET,可以列出一些特输出字符,而非空白
b 显示行号,仅针对非空白行,跳过空白行
E 将结尾的断行符$显示出来
n 显示行号,包括空白行
T 将[TAB]以^I的方式显示出来
v 列出一些看不出来的特殊字符

2)tac:反向显示

用法:同cat

和cat相反,从末行到首行显示

3)nl:添加行号显示

用法:nl [-bnw] 路径

选项

选项

说明

b

指定行号显示的方式:

  • -b a:空行也列出行号,等于cat -n
  • -b t:空行不列出行号(默认)
n

行号显示的位置:

  • -n ln:行号在屏幕左侧显示;
  • -n rn:行号在字段右侧显示,不加0
  • -n rz:行号在字段右侧显示,加0
w 设置行号字段共有多少位(默认6位,不足补0,即-n rz)

例子

①常规显示(不显示空白行行号)

[root@study ~]# nl /etc/issue
1 \S
2 Kernel \r on an \m

显示空白行行号

[root@study ~]# nl -b a /etc/issue
1 \S
2 Kernel \r on an \m
3

②行号补0

[root@study ~]# nl -b a -n rz /etc/issue
000001 \S
000002 Kernel \r on an \m
000003

③设置行号有几位

[root@study ~]# nl -b a -n rz -w 3 /etc/issue
001 \S
002 Kernel \r on an \m
003

4)more:一页一页翻页显示

cat、tac、nl是全部显示,如果文件较大则显示不了前边的数据。

用法:more 路径

按键

按键

说明

空格、b 向下翻页、向上翻页
Enter 向下翻一行
/word 查找word
:f 显示出文件名及当前行数
q 退出

5)less:一页一页翻页显示

比more更灵活,可以往回翻页

用法:less 路径

按键

这里的按键就是vim命令模式下的按键

按键

说明

空格  向下翻页
pagedown/pageup 向下/上翻页 
/word 向下查找word 
?word 向上查找word 
n  重复上一次查找结果,并向下移动至下一个查找到的word字符首
N  重复上一次查找结果,并向上移动至下一个查找到的word字符首
使用/word + n/N可以实现不停地向上/向下定位到某个想要字符处
g 移动至文档首行
G  移动至文档尾行
q 退出less 

6)head/tail:取首/尾若干行(默认10行)

用法:

  • head/tail [-n number] 路径:取首/尾若干行(默认10行)

  • tail -f 路径:持续输出(如果某个文件有持续写入时)

例子

①常规使用

# 默认显示前面十行
[root@study ~]# head /etc/man_db.conf

#显示前 20 行
[root@study ~]# head -n 20 /etc/man_db.conf

②head -n 负号:不显示后n行

tail -n 正号:不显示前n行

#不显示后100行
[root@study ~]# head -n -100 /etc/man_db.conf
#不显示前100行
[root@study ~]# tail -n +100 /etc/man_db.conf

③tail -f:持续打印

④显示中间若干行 head -n 数字 | tail -n 数字

#取11~20行
head -n 20 /etc/man_db.conf | tail -n 10

7)od:非文本文件(数据文件data file或者二进制文件binary file)

用法:od [-t TYPE] 路径

选项

TYPE(n代表每个数字占用的字符)

输出为哪种类型

a 默认字符
c ASCII字符
d[n] 十进制
f[n] 浮点数
o[n] 八进制
x[n] 十六进制

例子

①常规使用

#将/usr/bin/passwd 的内容使用ASCII 方式来展现
[root@study ~]# od -t c /usr/bin/passwd

②多选项,对照显示

#将/etc/issue 这个文件的内容以8 进位列出储存值与ASCII 的对照表
[root@study ~]# od -t oCc /etc/issue
0000000 134 123 012 113 145 162 156 145 154 040 134 162 040 157 156 040
      \  S   \n  K   e   r   n   e   l   \   r   o   n
0000020 141 156 040 134 155 012 012
a n \ m \n \n
0000027
 
posted @ 2025-11-17 16:41  ShineLe  阅读(1)  评论(0)    收藏  举报