1.Shell介紹
shell是一個交互式命令解釋器,使用戶和終端進行交互
每個用戶都有自己特定的shell
Centos7默認shell爲bash
2.命令歷史
查看輸入的命令歷史:history
輸入的命令存儲在.bash_history中
history可記錄的命令的數量由$HISTSIZE定義,如history顯示的命令條數大於$HISTSIZE變量定義的條數,則多出的部分是存在與內存中,可使用history -c命令清除。history -c,可以清空內存中的文件,不能刪除配置文件。
變量$HISTSIZE存在與/etc/profile中,可修改$HISTSIZE的值,以修改存儲歷史命令的數量。/etc/profile數據修改後,需用source命令使文件即時生效(source /etc/profile),否則需重啓終端。
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S",定義變量HISTTIMEFORMAT的時間顯示,可將此變量加入/etc/profile
chattr +a ~/.bash_history #命令歷史文件只能追加,不可刪除。
!! #執行最近的一條命令
!n #執行第n條命令
!word #向上查找第一個以word爲開頭的命令
3.命令補全和別名
tab用於命令補全,一次tab爲命令補全,兩次tab可以列出同名的多個文件;
參數補全:在centos6版本中只能做到命令補全,在centos7中可以做到參數補全(默認不支持)。要實現參數補全,需要安裝bash-completion包,並重啓系統。
alias:別名命令。
用法:alias命令本身,可以查看系統中所有的別名,包括自定義。
建立別名:eg:alias restartnet=‘systemctl restart network.service’
alias別名存放位置:~/.bashrc和/etc/profile.d/腳本中定義的
刪除別名:unalias 別名名稱
4.通配符
*:匹配任意字符,可在任意位置使用
?:匹配一個任意字符,可以是數字,也可以是英文
[0-9]:匹配範圍內的數字
[123]:匹配範圍內的任意一個字符
{*,*}:匹配範圍中的一個,哪個或哪個
5.輸入輸出重定向
>:將前面的輸出輸入後邊的文件中,刪除原來的重寫
>>:追加重定向
2>:錯誤重定向
2>>:將錯誤追加重定向
&>:正確錯誤重定向輸出
&>>:正確錯誤追加重定向
<:輸入重定向
2>&1:重定向標準錯誤到標準輸出
eg:ls [12].txt aaa.txt >1.txt 2>a.txt #將正確和錯誤的信息分開重定向
實驗圖片: