Linux上查看文件內容的命令

cat 由第一行開始顯示文件內容
tac 從最後一行開始顯示,可以看出tac 是cat 的倒着寫!
more 一頁一頁的顯示文件內容
less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
head 只看頭幾行
tail 只看末幾行
nl 顯示的時候,順道輸出行號!
od 以二進制的方式讀取文件內容

文件內容查找

find . -type f -name "*.*" |xargs grep 'xiaoshou' -l

1、 cat
語法:
[root @test /root ]# cat [-nAE]
參數說明:
-n: 顯示時,連行號印出屏幕上。
-A: 將 DOS 下的 <tab> 與斷行字符都列出來!
-E: 將 DOS 編輯的文件中,僅列出 斷行字符出來!
範例:
[root @test /root]# cat ~/.bashrc <==顯示 .bashrc 這個文件
# .bashrc
# User specific aliases and functions
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l --color=never'
[root @test /root]# cat ~/.bashrc -n <==顯示 .bashrc 並且加上行號!
1 # .bashrc
2
3 # User specific aliases and functions
4 PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
6 alias rm='rm -i'
7 alias cp='cp -i'
8 alias mv='mv -i'
9 alias ll='ls -l --color=never'
[root @test /root]# cat -A regexp.txt
This is a cat, however, I need a dog.^M$
I want to "Happy" and <Happy> and /Happy/ here.^M$
OK! ^Ieverythins is OK^M$
Now, I will eat my food^M$
are you ^Ifinished your work^M$
what do you 123 goto where^M$
顯示出 DOS 文件的幾個特殊符號,以上面文件爲例,
可發現 ^M 爲斷行符號,而每行的 $ 爲行尾符號,
至於 ^I 則是 <tab> 按鍵啦!
cat 是 Concatenate (連續)的簡寫,主要的功能是將一個文件的內容連續的印出在屏幕上面!例如上面的例子中,我們將重要的參數檔.bashrc 印出來!如果加上-n 的話,則每一行前面還會加上行號!cat 比較少用!畢竟當你的文件內容的行數超過40 行以上,根本來不及看!所以,配合more 或者是|more 來執行比較好!此外,如果是一般的DOS 文件時,就需要特別留意一些奇奇怪怪的符號了,例如斷行與<tab>等,要顯示出來,就得加入-A 之類的參數了!。
 
2、 tac
語法:
[root @test /root ]# tac [文件名]
參數說明:
他的功能跟cat 相反,cat 是由『第一行到最後一行連續顯示在屏幕上』,而 tac 則是『由最後一行到第一行反向在屏幕上顯示出來』!
 
3、 more
語法:
[root @test /root ]# more [文件名]
參數說明:
範例:
[root @test /root]# more ~/.bashrc <==一頁一頁的顯示文件內容
[root @test /]# ls -al | more <==一頁一頁的將 ls 的內容顯示出來
more 真是個很有用的指令!當你的文件太大的時後,那麼使用cat 將沒有辦法看清楚!這個時候你可以使用more 來做動作!more 也可以用來做爲管線的同時執行之用!例如你在執行find 這個尋找的指令時,可以同時使用|more ,則搜尋結果可以一頁一頁的列出!

4、 less
語法:
[root @test /root ]# less [文件名]
參數說明:
範例:
[root @test /root]# less ~/.bashrc
說明:
less 的用法比起 more 又更加的有彈性,在 more 的時候,我們並沒有辦法向前面翻,只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看文件。 
 
5、 head
語法:
[root @test /root ]# head [-n number] [文件名]
參數說明:
-n :顯示 number 行
範例:
[root @test /root]# head ~/.bashrc <==預設情況下,顯示頭十行
[root @test /root]# head -n 20 ~/.bashrc<==顯示頭二十行!
說明:
head 的英文意思就是『頭』,顯示出一個文件的前幾行!若沒有加上-n 這個參數時,預設只顯示十行。 

6、 tail
語法:
[root @test /root ]# tail [-n number] [文件名]
參數說明:
-n :顯示number 行
範例:
[root @test /root]# tail ~/.bashrc
[root @test /root]# tail -n 5 ~/.bashrc <==只顯示最後面五行!
tail 的用法跟 head 的用法差不多類似,只是顯示的是後面幾行就是了!預設也是顯示十行,若要顯示非十行,就加-n number 的參數!  

7、nl
語法:
[root @test /root ]# nl [文件名]
參數說明:
範例:
[root @test /root]# nl ~/.bashrc
說明:
這個指令的用法跟cat -n 的用法類似,也就是『可以印出行號』的指令來查看文件!

 
8、od
語法:
[root @test /root ]# od [文件名]
參數說明:
範例:
[root @test /root]# od ~/.bashrc
0000000 020043 061056 071541 071150 005143 021412 052440 062563
0000020 020162 070163 061545 063151 061551 060440 064554 071541
0000040 071545 060440 062156 063040 067165 072143 067551 071556
說明:
如果有一個非ASCII 的數據文件呢?例如那個binary 的文件!使用 vi 根本就是看不着~這個時候看來只有使用將整個數據以數值方法讀出來啦!那就是od 這個指令來讀出來呦!這個東西可以用來輸出該數據爲十進制、16進位等等的數據格式!

9、幾個小技巧

(1)搜索字符串

more 與 less 的用途與用法很廣!你可以在more 與less 的畫面中進行『搜索』的工作!如何進行呢?我們以less 來說明好了,如果你想要知道 /etc/man.config 這個文件裏面有沒有一個叫做 GER 的大寫字眼,那麼可以: 
[root @test /root ]# less /etc/man.config
按鍵說明:
/word:在/etc/man.config 這個文件中搜尋word 這個字符串的所在
q :離開less 的畫面
然後在輸入 / 之後,光標會移動到最左下角等待輸入,這個時候您只要輸入你的字符串之後,就會自動的幫你找出來該關鍵詞!

(2)顯示m~n行

假如我想要顯示 ~/.bashrc 的第11 到第20 行呢?
這個應該不算難,想一想,在第 11 到第 20 行,那麼我取前 20 行,再取後十行,所以結果就是:『 head –n 20 ~/.bashrc | tail –n 10 』,這樣就可以得到第 11 到第 20 行之間的內容了!

(3)滾動顯示文件內容

#tail -f [文件名]

(4)清空文件內容

# /dev/null > [文件名]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章