天天看點

shell介紹及基本用法

8.1:shell介紹:

shell是一個指令解釋器,提供使用者和機器之間的互動,支援特定文法,支援邏輯判斷、循環,并且每個使用者都可以有自己的shell:

Centos預設的shell是bash(Bourne Agin Shell):其實為了紀念sh的創造者bourne這個使用者:

常見的還有zsh(power - shell)    ksh(korn - shell)這兩種:支援的特性比較少:

8.2:指令曆史:history

在系統中使用者使用的指令都會儲存下來,會儲存在目前使用者的家目錄下:

文法: history [-c]

-c:=clear 清除記憶體中的指令,不能删除配置檔案中的曆史指令

顯示使用過的指令曆史,預設儲存1000條使用過的指令(注:此令需要是在正常關機操作情況下的處1000條命)!

變量HISTSIZE

該變量決定指令曆史儲存的指令的數目。

定義變量HISTSIZE

搜尋關鍵字"HIST"找到‘HISTSIZE=1000’,在此更改其數字,儲存退出,然後執行指令‘source /etc/profile’重新整理該配置檔案才會生效。

更改history顯示格式

直接為‘HISTTIMEFORMAT’指派即可,不過此時該格式隻适用于目前終端。如果要其使用于所有使用者,則需要将其寫入history配置檔案并重新整理後生效。

指令曆史永久儲存

即,使指令曆史記錄隻能寫入不能被删除!

使用檔案特殊權限,為‘.bash_history’檔案配置‘a’權限(隻可追加,不可删除),限于正常關機操作。

‘!’的用法:‘!n’(n代表數字),表示運作指令曆史中的第n條指令;‘!word’,表示運作上一次以該word開頭的指令。

eg:

按一次tab可以補全一個指令或參數(需要安裝包bash-completion,并重新開機系統);按兩次tab可以顯示以某字母開頭的所有指令或檔案名。

文法: alias [指令别名]=[具體指令] 設定别名

取消别名:unalias [指令别名]

直接輸入alias會顯示系統所有的别名:

系統别名存放在配置檔案‘~/.bashrc’和‘ls /etc/profile.d/’下:

通配符‘*’代表零個或多個任意字元

通配符‘?’代表一個任意字元

中括号‘[]’,“ls [0-9].txt”表示0-9區間内的任意.txt檔案

花括号‘{}’,“ls {1,2,3}.txt”表示括号内任意.txt檔案

“>,>>,<,2>,2>>”

‘>’:輸出重定向

‘>>’:追加重定向

‘2>’:錯誤重定向

‘<’:輸入重定向

使用‘>’指令時會将檔案内原有内容删除。

應用

說明: 使用ls指令檢視 {1,2}.txt aaaa.txt,1.txt和2.txt檔案存在,可以使用ls檢視,aaaa.txt不存在,使用ls檢視會報錯,‘> 1.txt 2> 3.txt’意思是将正确資訊儲存到1.txt,将錯誤資訊儲存到3.txt。

本文轉自 芬野 51CTO部落格,原文連結:http://blog.51cto.com/yuanhaohao/1982188,如需轉載請自行聯系原作者