天天看點

Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

​​Linux學習筆記(第零篇)計算機基礎​​Linux學習筆記(第零篇)Linux檔案系統及Shell

Linux學習筆記(第一篇)零散指令

Linux學習筆記(第二篇)目錄操作指令

Linux學習筆記(第三篇)檔案操作指令

Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

Linux學習筆記(第五篇)歸檔及壓縮指令

Linux學習筆記(第六篇)Vi編輯器

Linux學習筆記(第七篇)使用者群組管理

Linux學習筆記(第八篇)磁盤與檔案系統管理

Linux學習筆記(第九篇)邏輯卷管理(LVM)

Linux學習筆記(第十篇)程序管理

Linux學習筆記(第十一篇)服務管理

Linux學習筆記(第十二篇)網絡基礎

Linux學習筆記(第十三篇)通信管理

Linux學習筆記(第十四篇)管理常用網絡服務

Linux學習筆記(第十五篇)常用網絡伺服器配置

Part4–檔案内容操作指令

1. cat:

  • cat 檔案名:可用來顯示一個或多個檔案的内容。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • cat>檔案名:若檔案不存在,則先建立檔案,再寫入新内容;若檔案存在,則直接覆寫原内容,寫入新内容。
  • cat>>檔案名:追加内容。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

2. more:

  • more 檔案名:全屏方式分頁顯示檔案内容,每顯示一頁(一屏)後暫停,螢幕底部顯示單詞More和以顯示百分比。按Enter鍵向下逐行滾動; 按空格鍵向下翻一屏,按b鍵向上翻一屏; 按q或Q鍵退出more指令。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • more -10 檔案名:每屏10行。
  • more +10 檔案名:從第10行開始。
  • more -cd 檔案名:以清屏、顯示提示方式顯示檔案。

3. less:

  • 與more指令類似,但擴充功能更多,到檔案末尾時moreming’l會自動退出,less指令不會自動退出,需要按q或Q退出。less運作在檔案向前向後移動(方向鍵上下)。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • less -?:顯示選項的用法和清單。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

4. nl:

  • 顯示附帶行号的檔案内容。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

5. head:

  • head -n 檔案名:檢視檔案開頭的一部分内容(預設為10行)。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

6. tail:

  • tail -n 檔案名:檢視檔案結尾的一部分内容(預設為10行)。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • tail -c n 檔案名:檢視檔案最後n-1個字元。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

7. wc:

  • wc:統計檔案中的單詞數量等資訊,依次為行數、單詞數、位元組數(預設帶選項 -l:統計行數; -w:統計單詞個數; -c:統計位元組數)。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

8. grep:

  • grep [選項] 查找條件 目标檔案:在檔案中查找并顯示包含指定字元串的行,如果沒有指定行,系統從标準輸入裝置的輸入中查找。要查找的字元串用雙引号括起來。
  • grep -i:查找時忽略大小寫。
  • grep -v:反轉查找,輸出與查找條件不相符的行。
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

9.正規表達式:

  • 特殊字元:

    (1)【 ? 】為元字元、通配符,可比對任意單個字元。例如:test?txt可比對mytest!txt。

  • Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • (2)【 * 】可比對任意字元串,包括空串。例如:hel*o可比對hellp,theldfeo。(為什麼比對*d、*d*、*f、*f*就什麼都比對不到呢?是bug嗎?)
  • Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

(3)【 list 】:比對任一在list中指定的字元。例如:file[1234]可比對file1,file2。

Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

(4)【 !list 】或【 ^list 】:比對任一不在list中指定的字元。例如:file[^0-9]可比對filea,fileA。

Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道

(5)【 ^ 】:定位點為行首。例如:^test可比對test1,testabc。

(6)【 $ 】:定位點為行尾。例如:test$可比對abctest。

(7)【 \ 】:為轉義字元,可将一個字元視為文字。例如:test\.$可比對test.gz。

Linux學習筆記(第四篇)檔案内容操作指令+正規表達式+重定向和管道
  • 基本概念:

    (1)預設情況下,許多Shell指令從标準輸入裝置輸入,指令的結果輸出到标準輸出裝置。

    (2)重定向運作将标準輸出或錯誤資訊從程式重定向到檔案,以進行儲存或稍後分析,或禁止其在終端顯示。還可以通過檔案而非鍵盤将輸入讀取至指令行程式。

    (3)管道允許将标準輸出資訊從程式連接配接至另一個程式的輸入,每個程式作用于前一個程式的輸出。

  • Bash的标準輸入輸出:

    (1)标準輸入:從該裝置接收使用者輸入的資料。裝置檔案為/dev/stdin,檔案描述編号為0,預設裝置為鍵盤。

    (2)标準輸出:通過該裝置向使用者輸出資料。裝置檔案為/dev/stdout,檔案描述編号為1,預設裝置為顯示器。

    (3)标準錯誤:通過該裝置報告執行出錯的資訊。裝置檔案為/dev/stderr,檔案描述編号為2,預設裝置為鍵顯示器。

  • Bash的重定向操作:

    【重定向标準輸入】:

    (1)<:将指令中接收輸入的途徑由預設的鍵盤改為指定的檔案。

    【重定向标準輸出】:

    (1)>:清空指定檔案的内容,将标準輸出(指令的執行結果)儲存到該檔案中,而不是直接顯示在螢幕上。

    (2)>>:(追加)。

    【重定向标準錯誤】:

    (1)2>:清空指定檔案的内容,并将标準錯誤資訊儲存到該檔案中。

    (2)2>>:(追加)。

    【重定向标準輸出和标準錯誤】:

    (1)&>:清空指定檔案的内容,并将标準輸出和标準錯誤資訊儲存到該檔案中。

    【例子】:ls>mydir.list、ls>>mydir.list、ls /etc/ > f1、nocmd 2> errfile、cat f1 f5 &> f2、cat < f1>f3

  • 基本概念:管道操作符号“|”,連接配接左右兩個指令,将左側指令的輸出結果作為右側指令的輸入,可以将一系列指令連結在一起,形成一個管道。
  • 格式:cmd1 | cmd 2 | … 例如:ls -l | less、ls -l | cat>file1(也相當于ls -l > file1)。

繼續閱讀