摘要: 本文講述幾種常用文件內容的查看工具,比如cat、more、less、head、tail等,把這些工具最常用的參數、動作介紹給新手,能讓新手在短短的幾分鐘內上手運用。此文獻給面對黑色的控制台不知所措的弟兄。
目錄
1、cat 顯示文件連接文件內容的工具;
1.0 cat 語法結構;
1.1 cat 查看文件內容實例;
1.2 cat 的創建、連接文件功能實例;
2、more 文件內容或輸出查看工具;
2.1 more 的語法、參數和動作命令;
2.2 more 的參數應用舉例;
2.3 more 的動作指令;
2.4 其它命令通過管道和more結合的運用例子;
3、less 查看文件內容 工具;
3.1 less的語法格式;
3.2 less的動作命令;
4、head 工具,顯示文件內容的前幾行;
5、tail 工具,顯示文件內容的最後幾行;
6、關於本文;
7、後記;
8、參考文檔;
9、相關文檔;
+++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++
1、cat 顯示文件連接文件內容的工具;
cat 是一個文本文件查看和連接工具。查看一個文件的內容,用cat比較簡單,就是cat 後面直接接文件名。
比如:
[root@localhost ~]# cat /etc/fstab
為了便於新手弟兄靈活掌握這個工具,我們多說一點常用的參數;
1.0 cat 語法結構;
cat [選項] [文件]...
選項
-A, --show-all 等價於 -vET
-b, --number-nonblank 對非空輸出行編號
-e 等價於 -vE
-E, --show-ends 在每行結束處顯示 $
-n, --number 對輸出的所有行編號
-s, --squeeze-blank 不輸出多行空行
-t 與 -vT 等價
-T, --show-tabs 將跳格字符顯示為 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 顯示此幫助信息並離開
1.1 cat 查看文件內容實例;
[root@localhost ~]# cat /etc/profile 注:查看/etc/目錄下的profile文件內容;
[root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目錄下的profile內容,並且對非空白行進行編號,行號從1開始;
[root@localhost ~]# cat -n /etc/profile 注:對/etc目錄中的profile的所有的行(包括空白行)進行編號輸出顯示;
[root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile內容,並且在每行的結尾處附加$符號;
cat 加參數-n 和nl工具差不多,文件內容輸出的同時,都會在每行前面加上行號;
[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl /etc/profile
cat 可以同時顯示多個文件的內容,比如我們可以在一個cat命令上同時顯示兩個文件的內容;
[root@localhost ~]# cat /etc/fstab /etc/profile
cat 對於內容極大的文件來說,可以通過管道|傳送到more 工具,然後一頁一頁的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
1.2 cat 的創建、連接文件功能實例;
cat 有創建文件的功能,創建文件後,要以EOF或STOP結束;
[root@localhost ~]# cat > linuxsir.org.txt << EOF 注:創建linuxsir.org.txt文件;
> 我來測試 cat 創建文件,並且為文件輸入內容; 注:這是為linuxsir.org.txt文件輸入內容;
> 北南南北 測試; 注:這是為linuxsir.org.txt文件輸入內容;
> EOF 注:退出編輯狀態;
[root@localhost ~]# cat linuxsir.org.txt 注:我們查看一下linuxsir.org.txt文件的內容;
我來測試 cat 創建文件,並且為文件輸入內容;
北南南北 測試;
cat 還有向已存在的文件追加內容的功能;
[root@localhost ~]# cat linuxsir.txt 注:查看已存在的文件linuxsir.txt 內容;
I am BeiNanNanBei From LinuxSir.Org . 注:內容行
我正在為cat命令寫文檔
[root@localhost ~]# cat >> linuxsir.txt << EOF 注:我們向linuxsir.txt文件追加內容;
> 我來測試cat向文檔追加內容的功能; 注:這是追回的內容
> OK?
> OK~
> 北南 呈上
> EOF 注:以EOF退出;
[root@localhost ~]# cat linuxsir.txt 注:查看文件內容,看是否追回成功。
I am BeiNanNanBei From LinuxSir.Org .
我正在為cat命令寫文檔
我來測試cat向文檔追加內容的功能;
OK?
OK~
北南 呈上
cat 連接多個文件的內容並且輸出到一個新文件中;
假設我們有sir01.txt、sir02.tx和sir03.txt ,並且內容如下;
[root@localhost ~]# cat sir01.txt
123456
i am testing
[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested
[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testing
我想通過cat 把sir01.txt、sir02.txt及sir03.txt 三個文件連接在一起(也就是說把這三個文件的內容都接在一起)並輸出到一個新的文件sir04.txt 中。
注意:其原理是把三個文件的內容連接起來,然後創建sir04.txt文件,並且把幾個文件的內容同時寫入sir04.txt中。特別值得一提的是,如果您輸入到一個已經存在的sir04.txt 文件,會把sir04.txt內容清空。
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt
[root@localhost ~]# more sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
cat 把一個或多個已存在的文件內容,追加到一個已存在的文件中
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
警告:我們要知道>意思是創建,>>是追加。千萬不要弄混了。造成失誤可不是鬧著玩的;
2、more 文件內容或輸出查看工具;
more 是我們最常用的工具之一,最常用的就是顯示輸出的內容,然後根據窗口的大小進行分頁顯示,然後還能提示文件的百分比;
[root@localhost ~]# more /etc/profile
2.1 more 的語法、參數和命令;
more [參數選項] [文件]
參數如下:
+num 從第num行開始顯示;
-num 定義屏幕大小,為num行;
+/pattern 從pattern 前兩行開始顯示;
-c 從頂部清屏然後顯示;
-d 提示Press space to continue, 'q' to quit.(按空格鍵繼續,按q鍵退出),禁用響鈴功能;
-l 忽略Ctrl+l (換頁)字符;
-p 通過清除窗口而不是滾屏來對文件進行換頁。和-c參數有點相似;
-s 把連續的多個空行顯示為一行;
-u 把文件內容中的下劃線去掉
退出more的動作指令是q
2.2 more 的參數應用舉例;
[root@localhost ~]# more -dc /etc/profile 注:顯示提示,並從終端或控制台頂部顯示;
[root@localhost ~]# more +4 /etc/profile 注:從profile的第4行開始顯示;
[root@localhost ~]# more -4 /etc/profile 注:每屏顯示4行;
[root@localhost ~]# more +/MAIL /etc/profile 注:從profile中的第一個MAIL單詞的前兩行開始顯示;
2.3 more 的動作指令;
我們查看一個內容較大的文件時,要用到more的動作指令,比如ctrl+f(或空格鍵) 是向下顯示一屏,ctrl+b是返回上一屏; Enter鍵可以向下滾動顯示n行,要通過定,默認為1行;
我們只說幾個常用的; 自己嘗試一下就知道了;
Enter 向下n行,需要定義,默認為1行;
Ctrl+f 向下滾動一屏;
空格鍵 向下滾動一屏;
Ctrl+b 返回上一屏;
= 輸出當前行的行號;
:f 輸出文件名和當前行的行號;
v 調用vi編輯器;
! 命令 調用Shell,並執行命令;
q 退出more
當我們查看某一文件時,想調用vi來編輯它,不要忘記了v動作指令,這是比較方便的;
2.4 其它命令通過管道和more結合的運用例子;
比如我們列一個目錄下的文件,由於內容太多,我們應該學會用more來分頁顯示。這得和管道 | 結合起來,比如:
[root@localhost ~]# ls -l /et