Linux查询文件命令大全


1.cat  2.tac  3.nl  4.more  5.less  6.head  7.tail  8.od 

一:直接查看文件内容命令:
1、cat(concatenate)
参数:
-A :相当于-vET的整合参数,可列出一些特殊字符,而不是空白;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号;
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的参数不同;
-T :将[tab]按键以^T显示出来;
-v :列出一些看不出来的特殊字符;

例一:查看/etc/issue这个文件的内容
[root@localhost ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Kernel \r on an \m
(注意:这还有个空行)

例二:如果要加行号用-n
[root@localhost ~]# cat -n /etc/issue
    1  Red Hat Enterprise Linux Server release 5.4 (Tikanga)
    2  Kernel \r on an \m
    3
这样对于大文件要找某个特定的行时比较有用
如果不想要编排空白的行号,可以使用“cat -b /etc/issue”
[root@localhost ~]# cat -b /etc/issue
    1  Red Hat Enterprise Linux Server release 5.4 (Tikanga)
    2  Kernel \r on an \m

2、tac(反向列示)
参数(没有)
实例:
[root@localhost ~]# tac /etc/issue
(注意:这有个空行)
Kernel \r on an \m
Red Hat Enterprise Linux Server release 5.4 (Tikanga)

3、nl(添加行号打印)
参数:
-b :指定行号指定的方式,主要有两种:
-b  a :表示不论是否为空行,也同样列出行号(类似于cat -n)
-b  t :如果有空行,空的那一行不要列出行号(默认值)
-n :列出行号表示的方式,主要有三种:
-n  ln :行号在屏幕的最左方显示;
-n  rn :行号在自己字段的最右方显示,且不加0;
-n  rz :行号在自己字段的最右方显示,且加0;
-w :行号字段占用的位数

例一:
[root@localhost ~]# nl /etc/issue
    1  Red Hat Enterprise Linux Server release 5.4 (Tikanga)
    2  Kernel \r on an \m
      (这有个空行,nl默认空行不编排)
注意:这个文件其实有三行,第三行为空白(没有任何字符),因为它是空白行,所    以nl不会加上行号,如果要加上行号,可以做如下...
[root@localhost ~]# nl -b a /etc/issue
    1  Red Hat Enterprise Linux Server release 5.4 (Tikanga)
    2  Kernel \r on an \m
    3
如果想让行号前面自动补上0,可做如下...
[root@localhost ~]# nl -b a  -n rz /etc/issue
000001  Red Hat Enterprise Linux Server release 5.4 (Tikanga)
000002  Kernel \r on an \m
000003\
自动在自己字段的地方补上0了,默认字段是6位数,如果想要改成其他位,如下...
[root@localhost ~]# nl -b a  -n rz -w 3  /etc/issue
001    Red Hat Enterprise Linux Server release 5.4 (Tikanga)
002    Kernel \r on an \m
003

二:可翻页查看:
4、more(一页一页翻动)
参数:
空格键: 代表向下翻一页;
Enter: 代表向下滚动一行;
/字符串: 代表在这个现实的内容当中向下查询‘字符串’这个关键字;
: f : 立刻显示出文件名以及目前显示的行数;
q : 代表立刻离开more,不在显示该文件内容;
B或[ctrl]-b:代表往回翻页,不过这操作只对文件有用,对管道无用。

5、less(一页一页翻动)(l与more的区别在于less可以往前翻页)
参数:
空格键: 向下翻动一页;
[PageDown] 向下翻动一页;
[PageUp] 向上翻动一页;
/字符串 向下查询“字符串”的功能;
?字符串 向上查询“字符串”的功能;
n 重复前一个查询(与/或?有关);
N  反向重复前一个查询(与/或?有关);
q  离开less这个程序;

PS:less使用的界面和环境与man page非常的类似,因为man这个命令就是调用less 来显示说明文件的内容

三:数据选取:
6、head(取出前面几行)
参数:
-n :后面接数字,代表显示几行的意思

Linux查询文件命令大全

默认显示前十行,若要更改,,如下...

Linux查询文件命令大全
   
如果后面135行数据都不打印,则可以这样...

Linux查询文件命令大全

7、tail(取出后面几行)
参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续检测后面所接的文件名,要等到按下[ctrl]-c才会结束tail的检测
例一:
[root@localhost ~]# tail /etc/man.config
    默认情况中,显示最后的10行,若要显示最后的20行,如下..
[root@localhost ~]# tail-n 20 /etc/man.config 
如果不知道/etc/man.config有几行,却只想列出100行以后的数据时可以这样做..
[root@localhost ~]# tail -n +20 /etc/man.config 
-f范例(由于/etc/man.config随时会有数据写入,你想要让该文件有数据写入时就立刻
显示到屏幕上,就利用-f这个参数)
[root@localhost ~]# tail -f /etc/man.config 
要等到输入[crtl]-c之后才会离开tail这个命令的检测
tail,less范例:如果想要显示/etc/man.config的第11到20行这可做如下...
[root@localhost ~]# head -n 20 /etc/man.config | tail -n 10

四:非纯文本文件
8、od(非纯文本文件)
参数:
-t :后面可以接各种“类型(TYPE)”的输出,例如:
    a        利用默认的字符来输出
    c        使用ASCII字符来输出
    d(size)  利用十进制来输出数据,每个整数占用size bytes
    f(size)  利用浮点来输出数据,每个数占用size bytes
    o(size)  利用八进制来输出数据,每个证书占用size bytes
    x(size)  利用十六进制来输出数据,每个整数占用size bytes

范例一:将/usr/bin/passwd的内容使用ASCII方式来输出
[root@localhost ~]# od -t c /etc/issue
0000000  R  e  d      H  a  t      E  n  t  e  r  p  r  i
0000020  s  e      L  i  n  u  x      S  e  r  v  e  r   
0000040  r  e  l  e  a  s  e      5  .  4      (  T  i  k
0000060  a  n  g  a  )  \n  K  e  r  n  e  l      \  r   
0000100  o  n      a  n      \  m  \n  \n

0000112范例二:将/etc/issue这个文件的内容以八进制列出存储值与ASCII的对照表
[root@localhost ~]# od -t oCc /etc/issue
0000000 122 145 144 040 110 141 164 040 105 156 164 145 162 160 162 151
          R  e  d      H  a  t      E  n  t  e  r  p  r  i
0000020 163 145 040 114 151 156 165 170 040 123 145 162 166 145 162 040
          s  e      L  i  n  u  x      S  e  r  v  e  r   
0000040 162 145 154 145 141 163 145 040 065 056 064 040 050 124 151 153
          r  e  l  e  a  s  e      5  .  4      (  T  i  k
0000060 141 156 147 141 051 012 113 145 162 156 145 154 040 134 162 040
          a  n  g  a  )  \n  K  e  r  n  e  l      \  r   
0000100 157 156 040 141 156 040 134 155 012 012
          o  n      a  n      \  m  \n  \n
0000112

小结:其中nl和cat和tac都是一次性将所有的数据显示到屏幕上面;
若要一页一页的翻动可使用命令more和less;还可以交互使用,比如     
[root@localhost ~]# od -t oCc /usr/bin/passwd | more,但这样最后一行显示的是“more”,若用more直接输出的话,最后一行显示的是百分比

Linux入门基础命令详解

Linux命令之cd

Linux命令之cat

Linux命令之alias/unalias

Linux命令解析:su root和su -root

相关内容

    暂无相关文章