Linux認證系統管理:認識與學習bash

  一、認識bash這個shell

Linux認證系統管理:認識與學習bash

1.管理整個計算機硬體的其實就是作業系統的核心,這個核心是需要被保護的,所以我們一般使用者就只能通過shell來跟核心通訊,以讓核心達到我們所想打到的工作。

2.只要能夠操作應用程式的介面度能夠稱為shell

shell的功能

命令記憶功能history

命令與檔案補全功能

命令別名設定功能(alias)

作業控制,前臺,後臺控制

程式指令碼

萬用字元

  二、shell的變數功能

1.環境變數例如PATH,HOME,MAIL,SHELL等,為了區別與自定義變數的不同,環境變數通常以大寫字元來表示

2.我們可以利用echo這個命令來顯示變數,但是變數在被顯示時,前面必須加上字元

3.基本上,命令執行的順序可以這樣看

1.以相對/絕對路徑執行命令

2.由alias找到該命令執行

3.由bash內建的命令來執行

4.通過

預設的組合鍵

Ctrl+C終止目前的命令

Ctrl+D輸入結束EOF

Ctrl+M就是Enter

Ctrl+S暫停螢幕的輸出

Ctrl+Q恢復螢幕的輸出

Ctrl+U在提示符下,將整行命令刪除

Ctrl+Z暫停目前的命令

6.萬用字元與特殊符號

*代表0個到無窮多個任意字元

?代表一定有一個任意字元

[]同一代表一定有一個在中括號內的字元,例如[abcd]代表這四個中一個

[-]例如[0-9]代表0-9之間的所有數字

[^]例如[^abc]表示的是非abc的.其它字元

  三、資料流重定向

1.標準輸出指的是命令執行所回傳的正確的資訊,而標準錯誤輸出可理解為命令執行失敗後,所回傳的錯誤資訊

2.標準輸入stdin:程式碼為0,使用<或《

標準輸出stdout:程式碼為1,使用>或》

標準錯誤輸出stderr:程式碼為2,使用2>或2》

3.1>:以覆蓋的方法將正確的資料輸出到指定的檔案或裝置

1.》:以累加的方法將正確的資料輸出到指定的檔案或裝置上

2.>:以覆蓋的方法將錯誤的資料輸出到指定的檔案或裝置上

3.》:以累加的方法將錯誤的資料輸出到指定的檔案或裝置上

4.&&和||的執行情況

cmd1&&cmd2若cmd1執行完畢且正確執行,則開始執行cmd2;若cmd1執行完畢為錯誤,則cmd2是不執行

cmd1||cmd2若cmd1執行完畢且正確執行,則cmd2不執行;若cmd1執行完畢且為錯誤,則開始執行cmd2

  四、管道命令

1.管道命令|僅能經由前面一個命令傳來的正確的資訊,也就是標準輸出的資訊,對於標準錯誤輸出是沒有處理能力

2.在每個管道後面接的第一個資料必定是命令,而且這個命令必須是能夠接收標準輸入的資料才行,這樣的命令才可以是管道命令

3.一般來說,選取資訊通常是針對"行"來分析的,並不是整篇資訊分析的

命令可以將一段資訊的一段切出來,處理的資訊是以行為單位

是抓取我們所需要的資訊

可以進行文字資料來排序

是可以將重複的資料僅列出一個顯示,但是要求必須先排好序

可以用來統計檔案的行數和單詞數

命令可以用來雙向重定向,同時將資料流送與檔案與螢幕