Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          Linux 文件內容查看工具介紹
          ?
          ?
          ??? 已經是第N次看這位大哥的著作了,估計這也算是個國內Linux界的學習狂人了,教程出了一個又一個的。可惜我不做這一塊,也沒太多的時間拿來研究Linux,只有需要的時候查一下了,不然好好研究一下這位大哥的全部著作,也算是美事一件。
          ?
          http://www.linuxsir.org/main/?q=node/198

          Linux 文件內容查看工具介紹

          作者:北南南北
          來自:LinuxSir.Org
          摘要: 本文講述幾種常用文件內容的查看工具,比如cat、more、less、head、tail等,把這些工具最常用的參數、動作介紹給新手,能讓新手在短短的幾分鐘內上手運用。此文獻給面對黑色的控制臺不知所措的弟兄。

          目錄


          +++++++++++++++++++++++++++++++++++++
          正文
          +++++++++++++++++++++++++++++++++++++


          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 /etc? |more


          3、less 查看文件內容 工具;

          less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大;您是初學者,我建議您用less。由于less的內容太多,我們把最常用的介紹一下;


          3.1 less的語法格式;

          less [參數]? 文件

          常用參數

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

          比如:我們在顯示/etc/profile的內容時,讓其顯示行號;

          [root@localhost ~]# less -N /etc/profile


          3.2 less的動作命令;

          進入less后,我們得學幾個動作,這樣更方便 我們查閱文件內容;最應該記住的命令就是q,這個能讓less終止查看文件退出;

          動作

          回車鍵 向下移動一行;
          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 顯示當前列當前目錄下的所有文件;

          就less的動作來說,內容太多了,用的時候查一查man less是最好的。在這里就不舉例子了;


          4、head 工具,顯示文件內容的前幾行;

          head 是顯示一個文件的內容的前多少行;

          用法比較簡單;

          head? -n? 行數值? 文件名;

          比如我們顯示/etc/profile的前10行內容,應該是:

          [root@localhost ~]# head -n 10 /etc/profile


          5、tail 工具,顯示文件內容的最后幾行;

          tail 是顯示一個文件的內容的前多少行;

          用法比較簡單;

          tail?? -n? 行數值? 文件名;

          比如我們顯示/etc/profile的最后5行內容,應該是:

          [root@localhost ~]# tail? -n 5 /etc/profile


          6、關于本文;


          7、后記;


          8、參考文檔;


          9、相關文檔;

          《關于Linux 文件系統中路徑的理解》
          《Linux 文件和目錄管理之列出、刪除、復制、移動及改名》
          《Linux 文件類型 及文件的擴展名》
          《簡述Linux 文件系統的目錄結構》
          《Linux 用戶(user)和用戶組(group)管理概述》
          《Linux 文件和目錄的屬性》

          ?
          ?
          posted on 2009-07-01 21:03 decode360 閱讀(391) 評論(0)  編輯  收藏 所屬分類: 03.Linux
          主站蜘蛛池模板: 孟津县| 麟游县| 佛山市| 苍溪县| 松溪县| 蒲城县| 广水市| 渭源县| 闽侯县| 洛宁县| 大姚县| 临猗县| 威海市| 措美县| 安泽县| 新晃| 鸡泽县| 涿州市| 诸城市| 随州市| 东阿县| 贵溪市| 依安县| 卓尼县| 蓝山县| 辉县市| 葫芦岛市| 孝义市| 江达县| 泰兴市| 高台县| 阳东县| 突泉县| 从化市| 锡林浩特市| 分宜县| 巧家县| SHOW| 泗阳县| 孟州市| 屏山县|