shell是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。linux
用戶直接面對的不是計算機硬件而是shell,用戶把指令告訴shell,而後shell再傳輸給系統內核,接着內核再去支配計算機硬件去執行各類操做。 shell
每一個用戶均可以有本身特定的shell。centos
centos7默認的shell版本是bash,它是sh的加強版本。還有其餘的版本,好比;zsh、ksh等。bash
咱們執行過的命令linux都會有記錄,預設能夠記錄1000條歷史命令執行命令history就能夠查看工具
history -c 清空內存裏的命令歷史centos7
這些歷史命令會保存在用戶家目錄的 .bash_history文件中spa
命令歷史是由環境變量HISTSIZE配置的,3d
咱們能夠在配置文件 /etc/profile修改命令歷史保存記錄blog
執行命令 source /etc/profile 使它生效,內存
查看命令歷史時加上運行命令的時間: HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
也能夠在配置文件/etc/profile 中增長這一行在HISTSIZE=5000下面
增長權限,永久保存 chattr +a ~/.bash_history
!是與命令歷史有關的一個特殊字符,這個字符經常使用的應用有3個:
!!:執行上一條命令
!n:n是一個數字,這樣表示執行命令歷史中的第n條命令
!字符串:例如輸入 !ca 就會執行以ca開頭的最近一次執行的命令
tab鍵敲一下能夠伴咱們補全命令、一個文件名或一個路徑 敲兩下能夠把全部文件名和命令都列出來
參數補全狐妖安裝bash-completion 重啓系統生效
alias 命令能夠給一條命令作別名,這樣能夠把一條很長的、很差記的命令作一個比較短,好記的別名代替
用戶家目錄的 .bashrc文件中存放了一些有別名的命令
還有其餘的一些在/etc/profile.d/目錄下
直接執行alias命令能夠查看目前系統預設的別名
給命令設置別名的命令格式爲:alias 命令別名='具體命令'
unalias命令 取消自定義別名
在bash下,可使用*來匹配零個或多個字符 ls *.txt
?來匹配一個字符 ls ?.txt
用中括號[ ]肯定範圍 可使用[0-9] 或[123]/[a-zA-Z]
輸出重定向: 常常用於把命令輸出的結果輸入到文件裏面,而不是屏幕上
例:cat 1.txt > 2.txt 把前面命令 cat 1.txt輸出的內容輸入到2.txt文件裏,原來2.txt裏的內容會刪除
追加劇定向 >> 例:cat 1.txt >> 2.txt 它不會刪除2.txt裏原來的內容,而是把 cat 1.txt輸出的內容添加上2.txt
錯誤重定向 2> 會把一個命令參數的錯誤信息輸入到指定的文件裏去 ,同時刪除指定文件原來的內容。
錯誤追加劇定向 2>> 一樣不會刪除源文件的內容
&> 把正確和錯誤的信息都輸入到這頂的文件裏面 至關於重定向和錯誤重定向集合
輸入重定向用於改變命令的輸入,不常使用