一、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,如需轉載請自行聯系原作者