一、shell是一個命令解釋器,提供用戶和機器之間的交互
二、登陸的終端能夠運行命令查看結果,登陸用戶名密碼,出來的這個界面其實這個就是一個shell,用戶配置文件最後一段就是shell
三、支持特定語法,好比邏輯判斷、循環
四、每一個用戶均可以有本身特定的shell
五、CentOS7默認shell爲bash(Bourne Agin Shell)
六、其餘shell還有zsh、ksh等,同bash有區別
七、 yum list |grep zsh
八、 yum list |grep kshshell
一、history命令
二、ls /root/.bash_history 歷史命令存在於用戶家目錄下的.bash_history 這個文件中,這個文件最大存1000條,由$HISTSIZE這個環境便令配置的,當時運行的命令暫時先存在內存中,只有退出終端的時候,命令纔會保存到.bash_history中
三、history -c 清空內存中的歷史命令,僅僅是清空內存中的歷史命令,可是不會刪除存命令的文件中的內容(家目錄下的.bash_history文件)
四、# vi /etc/profile 中的HISTSIZE的數值爲.bash_history的保存條數,生效方式,①重啓終端,或者使用# source /etc/profile 此條命令,使/etc/profile中的配置生效
五、若是想輸入history後的結果出現使用時間,須要將變量HISTTIMEFORMAT賦值bash
# 'HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
只能在當前終端生效。若是想每次都生效須要將此條變量加入到/etc/profile中
六、永久保存命令歷史 chattr +a /root/.bash_history,a權限,用戶只能對文件進行內容追加,不能刪除
七、不經過logout或者exit退出,家目錄下的.bash_history文件不能記錄完整所執行的命令
八、!!即爲上一條命令
九、!n 運行第n條命令
十、!word,執行最近一次以word開頭的命令,例如:!echo從命令歷史中找到第一個以echo開頭的命令code
一、tab鍵,敲一下補全命令或者路徑,敲兩下顯示出可輸入的文件
二、yum install -y bash-completion 安裝完這個包後須要從新啓動系統reboot才能夠生效,能夠補全參數
三、alias 別名,用戶家目錄下的.bashrc文件中有幾條、/etc/profile.d/目錄中的其餘文件中
四、ls /etc/profile.d
五、unalias 別名 取消別名內存
一、'*'能夠通配多個字符
二、'?'能夠通配1個字符
三、'[]'範圍 使用方式,例如:ls [0-3].txt或者ls [123].txt或者ls [0-9a-zA-Z].txt
四、'{}'範圍 ls {1,2,3}.txtit
五、cat 1.txt >2.txt 重定向,將原內容刪除
六、cat 1.txt>>2.txt 追加不會刪除原內容
七、lsaaa.txt 2>err.txt 2>將錯誤信息重定向到目標文件中
八、lsaaa.txt 2>>err.txt 2>>將錯誤信息追加到err.txt
九、>+2>等同於&> 將正確和錯誤信息都重定向到某個文件中
十、>>+2>>等同於&>>將正確和錯誤信息都追加到某個文件中
十、ls [12].txt aaa.txt >1.txt 2>err.txt將正確的重定向到1.txt,錯誤的到err.txt
十一、wc -l < 1.txt 左邊必須爲一個命令,右側能夠是一個文件
十二、總結
io