在Linux中查看文档类的命令有好几个,它有:cat、more、less、head、tail、stat这几个。下面介绍这几个命令的相关使用方法。

cat命令  concatenate查看文本文件内容

语法格式cat [OPTION]… [FILE]…

常用选项

-n 显示每行的行号,包括空行,如图1所示。

图片关键词

图1 cat -n 1.txt 查看1.txt文档时显示文档的行数

-E 显示空格字符,包括空行,如图2所示。

图片关键词

图2 cat -E 1.txt 显示空格字符与空行

可以看到最后面多了个$符号,这表示每行的行尾的结束符!这个与-A有相同效果,如图3所示。

图片关键词

图3 cat -A 1.txt 效果

不过一般很少用到这两个选项,一般用的多一些是“-n”这个选项。

这个cat是按顺叙从文档内容首行显示文档内容,有一个与之相反顺叙查看文档内容的命令"tac"

tac命令

将文件以行为单位反序输出,最后一行先显示,cat命令是按顺叙显示,而tac命令则倒叙显示如图4所示

图片关键词

图4 cat与tac的区别


more命令  

从头到尾查看文件,先显示一屏文件内容,需要按空格键再继续显示下一屏内容,看完之后自动退出。ctrl+b往上一屏看.ctrl+f往下一屏看与空格键作用一致,如图5所示。

图片关键词

图5 先显示一屏,注意看左下角的“--More--(6%)”


再按一次空格键或ctrl+b键往下一屏查看文档内容,如图6所示。

图片关键词

图6 按下空格或者CTRL+b即可往下一屏显示,这是的左下角显示13%


知道左下角的显示百分百为100%时,则表示文档内容已经查看完毕且自动退出


less 命令

翻屏查看文件,与more类似,但比more好用,可以使用more所有功能,所以只需要学会这个less即可,不必记住more。

-N : 以显示文档内容行数来查看文档

ctrl+b:往上一屏看

ctrl+f 或者空格键 : 往下一屏

pageup或者方向键上 :往上一行查看

pagedown或者方向键下 :往下一行查看

g : 快速定位到文档内容首行

G : 快速定位到文档内容末行

/ : 按顺叙从文档首行内容开始查找内容   (输入"/"然后再输入需要查找的内容,按字母"n"或"N"查找,小n是往下查找,大N是往上查找)

? :按倒叙从文档末行内容开车查找内容  (输入"?"然后再输入需要查找的内容,按字母"n"或"N"查找,小n是往下查找,大N是往上查找)

具体就不上图了,因为图难以表达,还是多多练习一番方才体会。只是less看完是不自动退出的,需要按一下q才退出。

“-N”选项,与more -n作用一致,都是显示行号,如图7所示。

图片关键词

图7 less -N 2.txt 显示行数来查看文档内容


head命令 按顺叙显示文档首n行内容,默认显示10行内容(包含空行)

常用选项:

    -c <字符数> : 显示开头指定的文档的字符数

    -n <行数> : 显示开头指定的行数内容,默认显示10行内容

    -v :显示文件内容时先显示文件名称

示例如图8所示。

图片关键词

图8 head各个选项参数示例



tail命令  按顺叙显示文档内容末n行内容

    显示指定文件末尾行内容,默认显示10行内容(包含空行),常用查看日志文件。

    常用选项:

        -n  <行数> : 按顺叙指定文档末行的行数(包含空行)查看内容

        -f  : 查看文件末行内容(默认显示10行内容)结束后不退出,一直显示更新的内容(循环读取,但当读取到的内容被删除时,并不能实时更新被删除的内容), 直到您按下(Ctrl-C)            组合键停止显示。,需要指定行数时只需在f前加入行数,如只需看末行5行内容:tail -5f 1.txt。

示例

       不加任何选项默认显示文档末10行的内容,如图9所示。

    图片关键词

图9 不加选项默认显示文档末10行内容


-n :指定行数查看文档末n行内容,如图10所示。

图片关键词

        图10 查看文档的末5行内容


-f  : 查看文件末行内容(默认显示10行内容)结束后不退出,如图11所示。

图片关键词

图11 tail -f 2.txt 循环读取文档末行内容


这里的tail -f用来查看日志文件有很大的用处,增加内容也随即显示所增加的内容,如在2.txt下怎么内容(head -n5 /etc/passwd >> 2.txt)如图12所示

图片关键词

图12 使用tail -f 2.txt查看时,当2.txt末尾被追加内容时,实时读取到并显示

当然在2.txt的末行内容被删除时,它是不能够更新显示的,比如删除掉刚刚加入的5行内容如图13所示。

图片关键词

图13 tail -f 2.txt 并不能实时更新被删除的内容



stat命令

    显示文件或目录的属性,包括文件名,大小,时间戳等信息,通俗地说就像我们看到windows右键,文件属性看到的信息类似。

    常用参数:

        -L:跟踪显示链接文件或目录信息

    并没用什么选项参数,直接使用即可,如图14所示。

图片关键词

图14 stat查看文件或目录的属性

-L:跟踪显示链接文件或目录信息,如图15所示。

图片关键词

图15 跟踪显示链接文件或目录信息



stat命令显示出来的文件或目录属性信息解析: 


    - File:显示文件或目录名称
    - Size:显示文件或目录的大小 
    - Blocks:文件或目录使用的数据块总数 
    - IO Block:IO块大小 
    - regular file:文件类型(常规文件) 
    - Device:设备编号 
    - Inode:Inode号 
    - Links:链接数 
    - Access:文件或目录的权限 
    - Uid、Gid:文件或目录的所属用户ID与组ID


Linux下的三个时间: 


    1. Access Time:    简写为atime,  但这里却被简写为"Access"。  表示文件的访问时间。当文件内容被访问时,更新这个时间 
    2. Modify Time:   简写为mtime, 但这里却被简写为"Modify"。 表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。 
    3. Change Time:  简写为ctime,  但这里却被简写为"Change"。 表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。

示例:

    atime(访问时间)的更新 。当使用cat命令查看了2.txt文档内容后,它的时间有所更新,如图16所示。

图片关键词

图16  atime时间有所改变

当读取文件时,access time (access),简称atime时间会改变,而modify time(modify简称mtime)与change time(change简称ctime)的时间不会改变。

当修改文件时,access,modify,change这三个时间都会跟着改变。

当修改文件属性时,change time 的时间会改变,而access time与modify time的时间不会改变。

ls,stat命令是不会修改文件的access time简称atime时间。

access time 简称atime 意思是最后访问的时间,而常用的查看文档命令"more"、"cat"、"less"、"tail"、"head"、"tac" 都会改变atime时间。

modify time 简称mtime意思是文件内容最后一次被修改的时间,也就是最后修改文件内容的时间,比如vi、vim后保存的文件都会改变mtime时间。

change time 简称ctime 意思是文件或目录的属性有所改变时,比如,chmod、chown、chgrp 这些命令运行完毕ctime会跟随改变。

stat不但可以查看文件或目录,也可以查看块设备相关信息,如硬盘/光驱都可以如图17所示。

图片关键词

图17 stat 好像什么类型文件或目录都能使用