歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux查詢文件命令大全

Linux查詢文件命令大全

日期:2017/2/28 14:45:10   编辑: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