linux 文件内容查看

cat 由第一行开始显示文件内容

tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl 显示的时候,顺道输出行号!

more 一页一页的显示文件内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行

tail 只看尾巴几行

od 以二进制的方式读取文件内容

 

 

cat(Concatenate),主要功能是将一个文件的内容连续显示在屏幕上面。

cat [-AbEnTv]

选项与参数:

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E :将结尾的断行字符 $ 显示出来;

-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;

-T :将 [tab] 按键以 ^I 显示出来;

-v :列出一些看不出来的特殊字符 tac(反向列示),由最后一行到第一行反向在屏幕上显示出来 nl,添加行号打印 nl [-bnw] 文件 选项与参数:

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在屏幕的最左方显示;

-n rn :行号在自己字段的最右方显示,且不加 0 ;

-n rz :行号在自己字段的最右方显示,且加 0 ;

-w :行号字段的占用的字符数。

 

 

more 一页一页翻动查看

在more这个程序运行的过程中,还有一些按键:

空格键(Space) :代表向下翻一页

Enter :代表向下滚动一行

/字符串 :代表在这个显示的内容当中,向下查询“字符串”这个关键字

:f :立刻显示出文件名以及目前显示的行数

q :代表立刻离开more,不在显示该文件内容

b或[ ctrl ]-b :代表往回翻,不过这操作只对文件有用对管道无用

 

 

less (一页一页翻动)

less 的用法比起 more 又更加的有弹性。 在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件

在 less 里头可以输入的指令有:

空格键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字符串 :向下搜寻『字符串』的功能;

?字符串 :向上搜寻『字符串』的功能;

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

g :前进到这个资料的第一行去;

G :前进到这个数据的最后一行去 (注意大小写);

q :离开 less 这个程序 head (取出前面几行)

 

 

head [-n number] 文件

选项与参数:

-n :后面接数字,代表显示几行的意思

默认的情况中,显示前面十行

如果后面 100 行的数据都不打印,只打印/etc/man_db.conf 的前面几行,该如何是好?

[root@study ~]# head -n -100 /etc/man_db.con

 

 

tail (取出后面几行)

tail [-n number] 文件

选项与参数:

-n :后面接数字,代表显示几行的意思 默认的情况中,显示最后十行

-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束 tail 的侦测

 

如果不知道/etc/man_db.conf 有几行,却只想列出 100 行以后的数据时?

[root@study ~]# tail -n +100 /etc/man_db.conf

范例二:持续侦测/var/log/messages 的内容

[root@study ~]# tail -f /var/log/messages <==要等到输入[crtl]-c 之后才会离开 tail 这个指令的侦测

 

 

假如我想要显示 /etc/man_db.conf 的第 11 到第 20 行呢?

答:

这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:『 head -n 20/etc/man_db.conf | tail -n 10 』,这样就可以得到第 11 到第 20 行之间的内容了

 

这两个指令中间有个管线 (|) 的符号存在,这个管线的意思是:『前面的指令所输出的讯息,请透过管线交由后续 的指令继续使用』的意思。 所以, head -n 20 /etc/man_db.conf 会将文件内的 20 行取出来,但不输出到屏幕上, 而是转交给后续的 tail 指令继续处理。

 

 

非纯文本档:

od od [-t TYPE] 文件

选项或参数:

-t :后面可以接各种『类型 (TYPE)』的输出,例如:

  a :利用默认的字符来输出;

  c :使用 ASCII 字符来输出

  d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;

  f[size] :利用浮点数(floating)来输出数据,每个数占用 size bytes ;

  o[size] :利用八进制(octal)来输出数据,每个整数占用 size bytes ;

  x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;

 

 

修改文件时间或建置新档:

touch 

modification time (mtime): 当该文件的『内容数据』变更时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。 

status time (ctime): 当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。 

access time (atime): 当『该文件的内容被取用』时,就会更新这个读取时间 (access)。

 

举例来说,我们使用 cat 去读取/etc/man_db.conf , 就会更新该文件的 atime 了。

 

touch [-acdmt] 文件

选项与参数:

-a :仅修订 access time;

-c :仅修改文件的时间,若该文件不存在则不建立新文件;

-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间";

-m :仅修改 mtime ;

-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

 

touch 这个指令最常被使用的情况是: 

建立一个空的文件; 

将某个文件日期修订为目前 (mtime 与 atime)

posted @ 2019-02-21 16:47  猫不会游泳却爱吃鱼  阅读(238)  评论(0)    收藏  举报