在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 好像什么类型文件或目录都能使用