摘要:8.1 shell介紹
? ? ? ? ? 8.2 命令歷史
? ? ? ? ? 8.3 命令補全和別名
? ? ? ? ? 8.4 通配符
? ? ? ? ? 8.5 輸入輸出重定向
一 shell介紹
查看系統shell包
二 命令歷史
? ? 所有使用過的命令會由一個文件保存,文件路徑為/root/.bash_history ?可以使用向上的方向鍵查看
? ? 1.歷史命令存放位置
? ? ? ? # /root/.bash_history ?//存放在用戶家目錄下的.bash_history文件內
? ? ? ? 這個文件內默認最大可以存1000條命令,可以使用命令# echo $HISTSIZE查看
? ? 2.清空內存中的歷史命令
? ? ? ? # history -c ?//只能清空內存中歷史命令,但不能清空/root/.bash_history文件內的命令歷史
? ? 同時需要注意的是,登錄后所有使用過的命令是保存在內存中的,只有登出終端后才會將這些命令寫入到.bash_history文件內
? ? 3.定義環境變量HISTSIZE
? ? ? ? 修改環境變量HISTSIZE需要在/etc/profile文件中修改
????????修改為5000后,不會立即生效
? ? ? ? 要想生效,需要先執行命令# source /etc/profile或者重新登入終端
? ? 4. 記錄命令使用時間
????設置環境變量 # HISTTIMEFORMAT="%Y/%m%d %H:%M:%S" ? //臨時生效,
? ??打開新的終端后,環境變量HISTTIMEFORMAT為空
若要永久生效,需要編輯/etc/profile文件配置環境變量,加入以下一行
? ? 保存文件后,再# source /etc/profile使配置永久生效
? ? 5.讓命令歷史永久保存
? ? ? ? # chattr +a ~/.bash_history ?//給記錄文件加上只能追加內容不能刪除內容的a權限
? ? 6.執行上一條最近使用過的命令
????????# ?。?? ? ? ?
? ? ?7.重復執行指定條數的命令
? ? ? ? # !n
8.執行倒數第一個使用過的命令
? ? #![命令]
三 命令補全和別名
1.tab鍵
? ? ? ? 可以補全命令和路徑,若開頭一樣的命令或路徑只有一個,則按一下tab鍵就自動補全,若有多個,則需按兩下tab鍵提示所有開頭一樣的命令
2.參數補全
CentOS7支持命令的參數補全,但需要安裝一個包 bash-completion并重啟
3.別名
? ? 適用于命令比較長
? ? 從上圖中可以看到系統默認的別名
4.別名配置文件
? ? # ~/.bashrc ?//自定義的別名放在這個文件內
? ? 其他別名放在/etc/profile.d/文件夾下面的文件內
? ? 5.取消別名
? ? # unalias [別名]
四 通配符
1.通配符*
? ? *可以適用各種場景
2.通配符?
適用于通配一個任意的字符,不論數字或字母 ? ? ? ?
3.通配范圍[ - ]
? ? 從上圖可以看出,只要滿足方括號[1-9]中1到9的任意一個數字,就算滿足條件,且只取一位數
? ? 4.通配符{ , , }
? ? ? ? 括號內字符間的關系為或,只要滿足其中一個條件就行
五 輸入輸出重定向
1.重定向>
????將前面文件的輸出內容輸入到后面命令中
? ?例如 # cat 1.txt >2.txt 會將2.txt清空后再將1.txt的內容寫入到2.txt中
2.追加重定向>>
????例如# cat 1.txt>>2.txt 會將1.txt的內容追加到2.txt中,2.txt原來的內容不變
3.錯誤信息輸出 ?2>
? ? 例如 # ls aaa.txt 2> err 會將前面的命令ls aaa.txt產生的錯誤信息寫入到err文件中
4.錯誤追加重定向2>>
5.正確+錯誤重定向
? ? 1)將正確和錯誤信息寫到同一個文件
? ? 2)將正確和錯誤信息分開寫到兩個文件中
6.正確+錯誤追加重定向
7.輸入重定向<
? ? ? ? 輸入重定向只能輸入到一個命令中,不能輸入到文件中