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,分頁顯示程序資訊等等,更多用法可自行探索。
| 讀書 | 成長 | 技術 |
長按二維碼關注公眾號