linux之cat,more,less,head,tail

小 樓 一 夜 聽 春 雨發表於2016-03-11

http://lionbule.iteye.com/blog/663549

 

1、cat

# cat /etc/profile    注:檢視/etc/目錄下的profile檔案內容;
# cat -b /etc/fstab   注:檢視/etc/目錄下的profile內容,並且對非空白行進行編號,行號從1開始;
# cat -n /etc/profile    注:對/etc目錄中的profile的所有的行(包括空白行)進行編號輸出顯示;
# cat -E /etc/profile     注:檢視/etc/下的profile內容,並且在每行的結尾處附加$符號;

注意:
1cat 加引數-n 和nl工具差不多,檔案內容輸出的同時,都會在每行前面加上行號;
   # cat -n /etc/profile
   # nl  /etc/profile

2cat 可以同時顯示多個檔案的內容,比如我們可以在一個cat命令上同時顯示兩個檔案的內容;
   # cat /etc/fstab /etc/profile

3cat 對於內容極大的檔案來說,可以通過管道|傳送到more 工具,然後一頁一頁的檢視;
   # cat /etc/fstab /etc/profile | more

 

 

2、more

# more -dc /etc/profile    注:顯示提示,並從終端或控制檯頂部顯示;
# more +4 /etc/profile      注:從profile的第4行開始顯示;
# more -4 /etc/profile      注:每屏顯示4行;  
# more +/MAIL /etc/profile     注:從profile中的第一個MAIL單詞的前兩行開始顯示; 

注意:

1、其它命令通過管道和more結合的運用例子;
比如我們列一個目錄下的檔案,由於內容太多,我們應該學會用more來分頁顯示。
這得和管道 | 結合起來,比如:
# ls -l /etc  |more

 

more 的動作指令;
我們檢視一個內容較大的檔案時,要用到more的動作指令,比如ctrl+f(或空格鍵) 是向下顯示一屏,ctrl+b是返回上一屏; Enter鍵可以向下滾動顯示n行,要通過定,預設為1行;
我們只說幾個常用的; 自己嘗試一下就知道了;
Enter          向下n行,需要定義,預設為1行;
Ctrl+f          向下滾動一屏;
空格鍵                向下滾動一屏;
Ctrl+b        返回上一屏;
=                     輸出當前行的行號;
:f               輸出檔名和當前行的行號;
v                  呼叫vi編輯器;
! 命令                  呼叫Shell,並執行命令;
q                 退出more 
當我們檢視某一檔案時,想呼叫vi來編輯它,不要忘記了v動作指令,這是比較方便的;

 

 

3、less

    跟more差不多,只是命令引數有點不一樣。

命令引數:
-c     從頂部(從上到下)重新整理螢幕,並顯示檔案內容。而不是通過底部滾動完成重新整理;
-f       強制開啟檔案,二進位制檔案顯示時,不提示警告;
-i     搜尋時忽略大小寫;除非搜尋串中包含大寫字母;
-I     搜尋時忽略大小寫,除非搜尋串中包含小寫字母;
-m       顯示讀取檔案的百分比;
-M       顯法讀取檔案的百分比、行號及總行數;
-N     在每行前輸出行號;
-p       pattern 搜尋pattern;比如在/etc/profile搜尋單詞MAIL,就用 less -p MAIL /etc/profile
-s       把連續多個空白行作為一個空白行顯示;
-Q     在終端下不響鈴;
執行動作:

Enter鍵     向下移動一行;
y     向上移動一行;
空格鍵     向下滾動一屏;
b     向上滾動一屏;
d     向下滾動半屏;
h     less的幫助;
u     向上洋動半屏;
w     可以指定顯示哪行開始顯示,是從指定數字的下一行顯示;比如指定的是6,那就從第7行顯示;
g     跳到第一行;
G     跳到最後一行;
p n%     跳到n%,比如 10%,也就是說比整個檔案內容的10%處開始顯示;
/pattern 搜尋pattern ,比如 /MAIL表示在檔案中搜尋MAIL單詞;
v 呼叫vi編輯器;
q     退出less
!command     呼叫SHELL,可以執行命令;比如!ls 顯示當前列當前目錄下的所有檔案;

 

 

4、head

   顯示檔案的前幾行。

   -n  [num] 指定顯示前幾行

 

5、tail

    增量顯示檔案內容,預設開啟時只顯示最新幾行。

    -n 指定開啟檔案時顯示多少行。

 

相關文章