8.1-13 Linux shell 基礎
什麼是shell?
Shell是一個命令直譯器,它在作業系統的最外層,負責直接與使用者進行對話,把使用者的輸入解釋給作業系統,並處理各種各樣的作業系統的輸出結果,輸出到螢幕反饋給使用者。這種對話方式可是互動也可以是非互動式的。
我們所輸入的命令計算機是不識別的,這時就需要一種程式來幫助我們進行翻譯,變成計算機能識別的二進位制程式,同時又把計算機生成的結果返回給我們。
CentOS7 預設shell 為 bash (Bourne Agin Shell)、zsh 、ksh 等。
Linux shell 分類:
bourne shell (/usr/bin/sh 、/bin/sh)
bourne again shell (/bin/sh)
C shell (/usr/bin/csh)
K shell (/usr/bin/ksh)
shell for root (/sbin/sh)
命令歷史:
Bash擁有自動記錄命令歷史的功能,使用者所執行的命令會在登出時自動記錄到自己的家目錄下的.bash_history 隱藏檔案中。
檢視這些命裡歷史記錄的方法有很多,可以通過直接開啟檔案來檢視,也可以通過鍵盤上下鍵進行上翻與下翻歷史記錄,還可以
通過history命令檢視歷史記錄,所有的命令歷史都有記錄編號。命令歷史能夠記錄的資訊數量由HISTSIZE變數所決定。
CentOS7 預設通過/etc/profile 檔案來定義HISTSIZE=1000,也就是最多可以記錄最近所使用的1000條命令,當有第1001條命令執行時,第一條命令會被覆蓋,可以通過 命令 history -c 清空所有命令歷史記錄。
① 上下鍵翻閱歷史命令,找到合適的命令後直接按回車鍵就可以執行。
② 輸入 !+ 【命令歷史的關鍵字】 呼叫 歷史記錄中的命令
③ 輸入 !+ n 呼叫 命令歷史中第 幾條命令
④ 通過 Ctrl + r 快捷鍵 開啟搜尋功能,接著 輸入 關鍵字,即可在命令歷史中搜索相關命令,按回車完成執行操作,如果沒有沒有搜尋到合適的命令,可以通過ESC 鍵 退出 搜尋。
⑤ !! 類似 上翻一次執行上一條命令。
命令補全及別名: