要想查看文件里面的内容,可以有很多命令可以使用,今天我就介绍几个大家常用的查看文件内容的命令。当然,这里面有个 Linux系统上的王牌命令(工具)vim,这个工具的使用我们 在vi/vim的使用中已经详细讲过了,这个不但可以查看,而且还可以对其进入编辑,而且还很方便。今天主要是来查看文件里面的内容,而不包括编辑。

查看文件内容常用的命令

cat 由第一行开始显示文件内容
tac 从最后一行开始显示,tac是cat倒着写
nl 显示出行号
more 一页一页显示文件内容
less 与more类似,但是比 more更好的是,他可以向前翻页
head 只看头几行
tail 只看尾几行
od 以二进制的方式读取文件内容

cat(concatenate)

常用参数
-b 列出行号。仅针对非空白行做行号显示,空白行不显示行号
-n 列出行号。连同空白行一起显示行号,空白行也显示行号。与-b的选项不同
注:如果文件较长,文章内容会在屏幕上飞快地滚过,可能看不到你想要的内容,要防止这一情况的发生,可以通过使用管道(|)和less命令结合,这样就会一页一页地显示文件,而且还可以使用向上或向下的箭头键或翻页键向前或向后移动。
tac 是cat的倒着写的,效果也是从最后一行, 到第一行来显示。和cat一样的,只是显示的顺序不同而已。这里不做详细解释。

nl

此命令和上面cat加-b -n的参数差不多,但在实际使用中,用的并不多,有兴趣有可以玩一下
常用参数
-b 指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n)
-b t :如果有空行,空的那一行不要列出行号(默认值)
-n 列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示
-n rn :行号在自己字段的最右方显示,且不加0
-n rz :行号在自己字段的最右方显示,且加0
-w 行号字段的占用的位数
上面这三个命令,都是一次性把所有内容全部显示,不方便我们查看我们想要的内容,那么为了解决这个问题,就有了下面的两个命令more和less。

more 一页一页翻动

使用此命令后,在屏幕的最下文,还会有相应的提示,而且还会有几个常用的按键供我们使用。
空格键:代表向下翻一页
Enter :代表向下翻一行
/字符串 :代表在这个显示的内容中,向下查找”字符串”这个关键词
:f :立刻显示出文件名以及目前显示的行数
q :代表立刻离开more,不再显示该文件内容
b 或 [ctrl]+b :代表向上翻页

less 一页一页翻动

less的用法比起more又更加的具有人性化,在使用more的时候,我们并没有办法向前面翻页,只能向后查看。如果说,使用less,那么就可以使用PageUp、PageDown等按键的功能来向前或向后翻看文件。这样就更方便了点。
空格键 :向下翻一页
PageDown:向下翻一页
PageUp :向上翻一页
/字符串 :向下查找”字符串”
?字符串 :向上查找”字符串”
n :重复前一个查找
N :反向重复前一个查找
q : 退出less
这是不是和vi/vim有点相似呢!哈哈……
上面讲的是查看全文,那么,我只想可看某个文件中的某个部分的话,有没有什么快速的方法呢?当然有,看下面的介绍。

head 显示出前面几行内容

-n:后面接数字,代表显示几行的意思。默认的是10行
如果后面的数字是一个负数,表示文件后面的这个行数不显示,其它的全显示。也就是说从头显示到后n行之间的全部内容。这个如果不好理解的话,大家动手实验一下就知道了。

head -n 10 file=head -n +10 file
显示的是前10行的内容
head -n -10 file
从头显示到倒数第十行为止

tail 显示出后几行内容

-n :后面接数字,代表显示后几行的意思。默认也是10行
-f :表示连续查看后面所增加的内容,要等到按下Ctrl+c才会结束tail的查看。这个功能一般在观察日志的时候经常用到

tail -n 10 file=tail -n -10 file
显示的是后10的内容
tail -n +10 file
显示的是从第10行开始显示到最后
这个和head是一样的来理解。如果想截取某个文件中的某一部分,我相信大家通过上面的两个学习,应该能实现了吧。

od 查看非纯文文件的内容

以上我们所说的,都是一些纯文本的文件,当然,系统中还有一些不是纯文本的文件,那么这些文件,如果用上面的命令来查看的话,全是乱码,什么也看不到。这时候我们就会用到od命令了。
选项
-t 后面可以接各种类型的输出
a :利用默认的字符输出
c :使用 ASCII 字符输出
d[size] :利用十进制(decimal)输出数据
f[size] :利用浮点数(floating)输出数据
o[size] :利用八进制(octal)输出数据
x[size] :利用十六进制(hexadecimal)输出数据
大家可以通过/usr/bin/passwd文件来实验。建议在实验前,先做好备份,然后在备份的文件上进行操作。
虽然对于一般使用者来说,这个命令的用处可能不大,但是对于工程师来说, 这个指令可以将二进制的内容作一个大致的输出,他们可以看得出东西是什么。可惜我不是工程师哈。

file 查看文件类型命令

这里顺便说一下这个命令,下面是三个例子,看一下就明白了。这个file命令也有很多参数,可以自己研究。
file ~/.bashrc
file /var/lib/mlocate/mlocate.db
file /usr/bin/passwd