鸟哥的Linux私房菜读书笔记--查看文件内容

1、cat命令:查看文件内容

(1)$ cat 文件挂载点    ##一次性将全部内容输出至控制台

命令:$   cat [-AbEnTv]
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

2、tac命令:反向查看文件内容

(1)$ tac 文件挂载点

3、more命令:单页翻动查看文件内容

(1)  $ more 文件挂载点    ##空格下翻页,b上f翻页,q退出。

<1>空格键 (space):代表向下翻一页;
<2> Enter :代表向下翻『一行』;
<3>/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
<4>:f :立刻显示出文件名以及目前显示的行数;
<5> q :代表立刻离开 more ,不再显示该文件内容。
<6> b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

<7>按q离开more页面。

<8>进入底行命令模式,输入/然后输入关键字,查找指定字符或字符串,按n跳至下一个关键字处

4、head命令:查看当前文件的前N行

(1)查看当前文件的前N行   $ head -n  N 文件挂载点

(2)不显示文件的后N行 : $ head -n-N  文件挂载点

5、tail命令:查看当前文件的后N行

(1)查看当前文件的后N行   $ tail -n N  文件挂载点   

(2)查看当前文件N行以后的内容   $ tail -n+N 文件挂载点

(3)实时查看日志更新情况 $  tail   -f  文件挂载点   ##追踪文件结点iNode,当日志文件溢出后,文件名发生改变,无法继续追踪

                                                $   tail  -F  文件挂载点  ##追踪文件目录,当溢出是文件名改变后可以继续追踪

6、touch 命令:修改文件时间或创建新文件

(1) 在当前目录下建立新的文件  $ touch   文件名

(2) 修改新创建文件,将文件时间调整为5天前  $ touch -d "5 days ago"  文件名

选项与参数:
<1>-a :仅修订 access time;
<2>-c :仅修改文件的时间,若该文件不存在则不建立新文件;
<3>-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
<4>-m :仅修改 mtime ;
<5>-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]
 

7、nl命令:显示的时候打印行号

命令: $ nl   选项   文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
     -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
     -b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
     -n ln :行号在屏幕的最左方显示;
     -n rn :行号在自己字段的最右方显示,且不加 0 ;
     -n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的字符数。

8、less命令: 按页翻动文本

命令:$ less 文件名

<1>空格键 :向下翻动一页;
<2>[pagedown]:向下翻动一页;
<3>[pageup] :向上翻动一页;
<4> /字符串 :向下搜寻『字符串』的功能;
<5>?字符串 :向上搜寻『字符串』的功能;
<6> n :重复前一个搜寻 (与 / 或 ? 有关!)
<7> N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
<8> g :前进到这个资料的第一行去;
<9> G :前进到这个数据的最后一行去 (注意大小写);
<10> q :离开 less 这个程序;

9、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 ;

例题:假如我想要显示 /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 指令继续处理。 因此 tail 『不需要接档名』,因为 tail 所需要的数据是来自于 head 处理
后的结果!

例题:
承上一题,那如果我想要列出正确的行号呢?就是屏幕上仅列出 /etc/man_db.conf 的第 11 到第 20 行,且有行
号存在?
答:我们可以透过 cat -n 来带出行号,然后再透过 head/tail 来撷取数据即可!所以就变成如下的模样了:
cat -n /etc/man_db.conf | head -n 20 | tail -n 10

猜你喜欢

转载自blog.csdn.net/qq_41825534/article/details/82771472
今日推荐