一、直接查看文件内容
直接查看一个文件内容可以使用cat、tac、nl这几个命令。
1、cat(concatenate):
由第一行到最后一行显示到屏幕上
参数:
-A:相当于-vET的整合参数,可列出一些特殊字符
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号
-E:将结尾的断行字符$显示出来
-n:打印出行号,连同空白行也会有行号
-T:将Tab按键以 ^I 显示出来
-v:列出一些看不出来的特殊符号
eg:
2、tac(反向列示)
可以发现,tac是cat反写过来,功能也是相反,由最后一行到第一行在屏幕上显示出来
eg:
注意观察,确实是反过来了。
3、nl(添加行号打印)
nl可将输出的文件内容自动加上行号,并对行号做较多的显示设计。
参数:
-b:指定行号指定的方式,主要有两种:
-b a:表示是否为空行,也同样列出行号
-b t:如果有空行,空行不用列出行号
-n:列出行号表示的方法,主要有三种:
-n ln:行号在屏幕的最左方显示
-n rn:行号在自己字段的最右方显示,且不加0
-n rz:行号在自己的最右方显示,且加0
-w:行号字段占用的位数
eg:
二、可翻页查看
1、more(一页一页翻动)
eg:
最后一行显示的是目前显示的百分比。并且,光标也会在此等待你的命令。
有什么命令呢?
搜索字符串是很有用的一个功能,eg,在上面打开的文件中查找"MANPATH"
2、less(一页一页翻动)
使用less有更多的查询功能,more只能往下翻页,而less都可以,如下:
三、数据选取
取出前面(head)与取出后面(tail)的文字,都是以行来进行数据选取的。
1、head
参数:
-n :后面接数字,代表显示几行
eg,默认显示10行,显示20行见下图最后一行。
如果接的是负数呢?如下:代表列出前面的所有行数,但不包括后面100行。
2、tail(取出后面几行)
参数:
-n:后面接数字,代表显示几行
-f:表示持续检测后面所接的文件名,要等到ctrl-c才会结束对tail的检测
eg:
若接的是负数,如下,表示该文件从100行以后都会被列出来:
四、非纯文本文件:od
参数:
-t :后面可以接各种类型的输出
a :利用默认的字符来输出
c:利用ASCII字符来输出
d[size]:利用十进制输出
f[size]:利用浮点数输出
o[size]:利用八进制输出
x[size]:利用十六进制输出
利用这个命令,可以将数据文件或者是二进制文件的内容数据读出来。
五、修改文件时间或创建新文件:touch
mtime(modification time):当该文件的内容数据被更改时,就会更新这个时间
ctime(status time):当该文件的状态改变时,就会更新这个时间,比如权限和属性
atime(access time):当该文件的内容被取用时,就会更新这个时间,比如使用cat读取时
使用ls显示的文件时间默认为mtime,查阅其他时间可以利用ls的参数,如下:
那么,如果文件的时间需要修改,怎么办呢?就用touch这个命令。
参数:
-a:仅修改访问时间
-c:仅修改文件的时间,若该文件不存在则不创建新文件
-d:后面可以接欲修改的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m:仅修改mtime
后面可以接欲修改的日期而不用目前的日期,格式为[YYMMDDhhmm]
eg:
注意该文件的大小为0。在默认状态下,如果touch后接文件,则该文件的三个日期都会更新为目前的时间,若文件不存在,则会创建一个新的空文件。
修改时间举例:
如上修改了时间,ll为ls -l 的缩写。