1. 程式人生 > >第二十二課 Shell的基礎知識

第二十二課 Shell的基礎知識

2018042101

一、shell介紹
1、shell是一個命令解釋器,提供用戶和機器進行交互,每個用戶都可以有自己特定的shell ,
2、CentOS7 默認shell為bash,還有zsh,ksh它們有細節上的差異而已,
我們可以查下系統中是否存在zsh: yum list |grep zsh

bash有哪些特性?

二、命令歷史(history)
1、它的存儲的文件為:/root/.bash_history
2、當我們退出終端後,它才會儲存到以上的文件中。
它的配制文件為:/etc/profile ,如果你修改裏面的文件,不想退出終端就想生效
運行命令:source /etc/profile 然後用命令查看是否生效:echo $HISTSIZE

3、更改historyntnt屬性,比如增加記錄時間:
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S”
1、用vim編輯/etc/profile 把HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S” 變量放到變量HISTSIZE下面
然後保存退出,
技術分享圖片
2、讓我們的命令歷史永久保存,給它增加一個a權限:chattr +a /root/.bash_history, 然後用lsattr查看一下吧
3、!! 最後一條命令
4、!n (n是數字)比如說你想運行66命令:!66
5、!echo 它會在從歷史命令中最後找以echo開頭的命令
技術分享圖片

三、命令補全及別名
1、tab 敲一下補全,敲兩下 (在cenos6 裏面不支持命令參數補全,在centos7裏面是支持命令參數補全)

2 、比如我們要讓systemctl restart network.service 我們需要安裝包:yum install -y bash-completion ,重啟:
3、我們可以把上面的命令做別名:alias restartnet="systemctl restart network.service"

四、通配符
1、在bash下,我們可以用“* ” 來匹配多個字符,用?匹配一個字符。

技術分享圖片

五、輸入輸出重定向
1、輸入重定向命令:<
2、輸出重定向的命令: >
3、錯誤重定向命令: 2>
4、追加重定向命令:>>

技術分享圖片

第二十二課 Shell的基礎知識