1. 程式人生 > >Linux常用命令-文字檢視篇

Linux常用命令-文字檢視篇

前言

Linux常用命令中,除了cat還有很多其他用於文字檢視的命令。本文將簡單介紹一下這些文字檢視的命令。

全文字顯示--cat

cat可能是常用的一個文字檢視命令了,使用方法也很簡單:

cat file  #全文字顯示在終端
cat -n file #顯示全文字,並顯示行號

另外,cat也可用作合併檔案:

cat file1 file2 >file3

該命令將file1 file2的內容合併寫到file3中。

倒序顯示全文字--tac

tac是cat倒過來的寫法,tac以行為單位,倒序顯示全文字內容。

tac file

分頁顯示文字--more

cat將整個文字內容輸出到終端。那麼也就帶來一個問題,如果文字內容較多,前面的內容檢視將十分不便。而more命令可以分頁顯示。 1.顯示內容

more file

之後,就可以使用按鍵來檢視文字。常用按鍵如下:

回車    #向下n行,預設為1行
空格    #向下滾動一屏
b      #向上滾動一屏
=      #輸出當前行號
:f     #輸出當前檔名和當前行號
q      #退出

2.從指定行開始顯示

more +10 file

該命令從第10行開始顯示file的內容。

3.從匹配的字串行開始顯示

more +/string file

該命令從有string的行的前兩行開始file的內容。

任意瀏覽搜尋文字--less

less命令的基本功能和more沒有太大差別,但是less命令可以向前瀏覽檔案,而more只能向後瀏覽檔案

,同時less還擁有更多的搜尋功能。 常見使用方法:

less file     #瀏覽file
less -N file  #瀏覽file,並且顯示每行的行號
less -m file  #瀏覽file,並顯示百分比

常用按鍵如下:

f        #向前滾動一屏
b        #向後滾動一屏
回車或j   #向前移動一行
k        #向後移動一行
G        #移動到最後一行
g        #移動到第一行
/string  #向下搜尋string,n檢視下一個,N檢視上一個結果
?string #向上搜尋string,n檢視下一個,N檢視上一個結果
q    #退出

相比more命令,less命令能夠搜尋匹配需要的字串。 另外,less還能在多個檔案間切換瀏覽:

less file1 file2 file3
:n     #切換到下一個檔案
:p     #切換到上一個檔案
:x     #切換到第一個檔案
:d     #從當前列表移除檔案

顯示文字頭部內容--head

head命令的作用就像它的名字一樣,用於顯示檔案的開頭部分文字。 常見用法如下:

head -n 100 file #顯示file的前100行
head -n -100 file #顯示file的除最後100行以外的內容。  

顯示文字尾部內容--tail

和head命令類似,只不過tail命令用於讀取文字尾部部分內容:

tail -100 file  #顯示file最後100行內容
tail -n +100 file  #從第100行開始顯示file內容   

tail還有一個比較實用的用法,用於實時文字更新內容。比如說,有一個日誌檔案正在寫,並且實時在更新,就可以用命令:

tail -f logFile

對於更新的日誌內容,會實時列印到終端上,方面檢視實時日誌。

指定順序顯示文字--sort

sort可用於對文字進行排序並顯示,預設為字典升序。 例如有一段文字test.txt內容如下:

vim
count
fail
help
help
dead
apple

1.升序顯示文字 使用命令:

sort test.txt
apple
count
dead
fail
help
help
vim

文字內容將以升序顯示。 2.降序顯示 相關引數-r:

sort -r test.txt
vim
help
help
fail
dead
count
apple

3.去掉重複的行 我們可以觀察到,前面的help有兩行,如果我們不想看到重複的行呢?可以使用引數-u,例如:

sort -u test.txt
apple
count
dead
fail
help
vim

可以看到help行不再重複顯示。

4.按照數字排序 如果按照字典排序,10將會在2的前面,因此我們需要按照數字大小排序:

sort -n file

由於本文篇幅有限,不在本文展開介紹,後續將單獨介紹sort命令的妙用。

過濾顯示文字--sed

sed是一個流編輯器,功能非常強大,但本文只介紹文字檢視相關功能。 1.顯示匹配關鍵字行 有時候檢視日誌,可能只需要檢視包含某些關鍵字的日誌行:

sed -n "/string/p" logFile

上面的命令表示列印包含string的行。

2.列印指定行

sed -n "1,5p" logFile #列印第1到5行
sed -n '3,5{=;p}' logFile #列印3到5行,並且列印行號
sed -n "10p" logFIle  #列印第10行

去重顯示文字--uniq

常見用法如下:

uniq file  #去除重複的行
uniq -c file #去除重複的行,並顯示重複次數
uniq -d file #只顯示重複的行
uniq -u file #只顯示出現一次的行
uniq -i file #忽略大小寫,去除重複的行
uniqe -w 10 file #認為前10個字元相同,即為重複

文字編輯檢視--vi

檢視檔案也很簡單:

vi file

而從vi發展出來的被譽為編輯器之神的vim有著更加強大的功能,這裡不作展開。

總結

文字檢視命令較多,可根據使用場景不同選擇使用不同的命令。有些命令的用法較多,本文僅介紹經典用法,更多用法可使用man命令檢視。很多命令可以結合其他命令使用,例如ps -elf|more,分頁顯示程序資訊等等,更多用法可自行探索。

|  讀書 | 成長 | 技術  |

長按二維碼關注公眾號

相關文章: