歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

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 :後面接數字,代表顯示幾行的意思

默認顯示前十行,若要更改,,如下...


   
如果後面135行數據都不打印,則可以這樣...

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直接輸出的話,最後一行顯示的是百分比

Copyright © Linux教程網 All Rights Reserved