天天看點

Linux筆記(shell基礎,曆史指令,指令補全/别名,通配符,輸出重定向)

一、shell 基礎

shell是個指令解釋器,提供使用者和機器之間的互動

每個使用者都可以擁有自己特定的shell

centos7預設Shell為bash(Bourne Agin shell)

除了bash,還有zsh.ksh等

二、指令曆史

敲過的指令在/root/.bash_history裡儲存着,最多可以儲存1000條。

可以用history指令檢視

history -c 可以清除記憶體裡,history裡的指令曆史,但是不能清除配置檔案/root/.bash_history裡的指令

echo $HISTSIZE                 檢視環境變量,檢視最多可以儲存多少指令。

/etc/profile                   裡面可以改變環境變量

source /etc/profile            重新整理profile檔案,使環境變量立即生效

HISTTIMEFORMAT="%Y%m%d %H:%M:%S"           使history臨時顯示曆史指令的輸入時間

若想一直生效,在/etc/profile中加入  HISTTIMEFORMAT="%Y%m%d %H:%M:%S"一行

source /etc/profile          重新整理一個profile檔案即可

永久儲存/root/.bash_history      不想被别人破壞或删除

chattr + a /root/.bash_history   給這個使用者加入a權限

如果不正常退出,用exit或者logout。則曆史指令儲存的不全

!!                執行最後一條指令

!n                 n表示數字。執行哪一條曆史指令

!指令              執行最後一次輸入的指定指令

三、指令補全即别名

tab鍵,如果隻有一個開頭,按一下自動補全。如果是兩個以上,按兩下則自動補全

yum install -y bash-completion         下載下傳一個自動補齊參數的包(需要從新啟動生效)

alisa别名

alisa                         檢視系統内所有的alisa指令

alisa+别名='指令'             建立alisa别名

unalisa+别名                  取消自己建立的alisa别名

四、通配符

* 不分字元和個數

? 一個任意的字元

[] 裡面可以寫一個範圍。例如0-3或者123,13隻顯示1和3.

{} 相當于方括号的13,但是中間要加 ,

五、輸入輸出重定向

>  把前面指令的輸出直接出入到後面的檔案中,覆寫後面檔案原有的内容

cat 1.txt > 2.txt       

>> 把前面指令的輸出追加到後面的檔案中

cat 1.txt >> 2.txt 

2> 錯誤重定向

2>> 錯誤追加重定向

&> = > 和 2>

&>> = >> 和 2>>

寫shell腳本時,可以把錯誤和正确的分開,以檢查腳本

本文轉自 小新銳 51CTO部落格,原文連結:http://blog.51cto.com/13407306/1982609,如需轉載請自行聯系原作者

繼續閱讀