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 檔案名:可用來顯示一個或多個檔案的内容。
- cat>檔案名:若檔案不存在,則先建立檔案,再寫入新内容;若檔案存在,則直接覆寫原内容,寫入新内容。
- cat>>檔案名:追加内容。
2. more:
- more 檔案名:全屏方式分頁顯示檔案内容,每顯示一頁(一屏)後暫停,螢幕底部顯示單詞More和以顯示百分比。按Enter鍵向下逐行滾動; 按空格鍵向下翻一屏,按b鍵向上翻一屏; 按q或Q鍵退出more指令。
- more -10 檔案名:每屏10行。
- more +10 檔案名:從第10行開始。
- more -cd 檔案名:以清屏、顯示提示方式顯示檔案。
3. less:
- 與more指令類似,但擴充功能更多,到檔案末尾時moreming’l會自動退出,less指令不會自動退出,需要按q或Q退出。less運作在檔案向前向後移動(方向鍵上下)。
- less -?:顯示選項的用法和清單。
4. nl:
- 顯示附帶行号的檔案内容。
5. head:
- head -n 檔案名:檢視檔案開頭的一部分内容(預設為10行)。
6. tail:
- tail -n 檔案名:檢視檔案結尾的一部分内容(預設為10行)。
- tail -c n 檔案名:檢視檔案最後n-1個字元。
7. wc:
- wc:統計檔案中的單詞數量等資訊,依次為行數、單詞數、位元組數(預設帶選項 -l:統計行數; -w:統計單詞個數; -c:統計位元組數)。
8. grep:
- grep [選項] 查找條件 目标檔案:在檔案中查找并顯示包含指定字元串的行,如果沒有指定行,系統從标準輸入裝置的輸入中查找。要查找的字元串用雙引号括起來。
- grep -i:查找時忽略大小寫。
- grep -v:反轉查找,輸出與查找條件不相符的行。
9.正規表達式:
-
特殊字元:
(1)【 ? 】為元字元、通配符,可比對任意單個字元。例如:test?txt可比對mytest!txt。
- (2)【 * 】可比對任意字元串,包括空串。例如:hel*o可比對hellp,theldfeo。(為什麼比對*d、*d*、*f、*f*就什麼都比對不到呢?是bug嗎?)
(3)【 list 】:比對任一在list中指定的字元。例如:file[1234]可比對file1,file2。
(4)【 !list 】或【 ^list 】:比對任一不在list中指定的字元。例如:file[^0-9]可比對filea,fileA。
(5)【 ^ 】:定位點為行首。例如:^test可比對test1,testabc。
(6)【 $ 】:定位點為行尾。例如:test$可比對abctest。
(7)【 \ 】:為轉義字元,可将一個字元視為文字。例如:test\.$可比對test.gz。
-
基本概念:
(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)。