8.1 shell介紹html
8.2 命令歷史python
8.3 命令補全和別名shell
8.4 通配符centos
8.5 輸入輸出重定向bash
8.1 shell介紹:centos7
shell是一個命令解釋器,提供用戶與機器之間的交交互.net
支持特定語法,不如邏輯變換、循環rest
每一個用戶均可以有本身特定的shellhtm
centos7默認shell爲bash(Bourne Agin Shell)內存
還有zsh、ksh等
能夠看一下有沒有zsh ksh
[root@localhost ~]# yum list |grep zsh
zsh.x86_64 5.0.2-28.el7 @base
autojump-zsh.noarch 22.3.0-3.el7 epel
zsh-html.x86_64 5.0.2-28.el7 base
zsh-lovers.noarch 0.9.0-1.el7 epel
[root@localhost ~]# yum list |grep ksh
ksh.x86_64 20120801-137.el7 base
mksh.x86_64 46-8.el7 base
python-XStatic-Rickshaw.noarch 1.5.0.0-4.el7 epel
python-moksha-common.noarch 1.2.3-2.el7 epel
python-moksha-wsgi.noarch 1.2.2-2.el7 epel
python2-moksha-hub.noarch 1.5.9-1.el7 epel
結果有的
--------------------------------------------------------------------------------------------------------------------------------------
8.2 命令歷史:
~history命令
~.bash_history 用戶的家目錄下/.bash_history能夠查看敲過的命令
~最多存1000條
~變量 HISTSIZE echo $HISTSIZE 爲1000 是有他控制的
history -c清空內存中的敲過的命令,不會清空配置文件裏的
退出終端的時候才保存到配置問文件裏去
~/etc/profile中修改
vi /etc/profile 找到history將1000可改成5000,即保存5000條
重啓生效或者,source /etc/profile也可生效
非正常關機不會記錄命令(不全)
~HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
年 月 日 小時 分鐘 秒
執行history時刻顯示該命令使用的時間
~永久保存chattr +a ~/.bash_history
~!! 執行最後一條命令
~!n n表明數字 執行第幾條命令
~!word 跟命令 在歷史裏倒着找出現的這條命令
---------------------------------------------------------------------------------------------------------------------------------------
8.3 命令補全和別名:
~ tab鍵,敲一下,敲兩下
只有這一個開頭的一下補全。多個兩下列出
~參數補全,安裝bash-completion
yum install -y bash -completion
需重啓
~alias別名給命令從新起名字
alias chongqiwangluo='systemctl restart network.service'
直接alias能夠列出系統裏全部的別名,包括本身設置的
unalias chongqiwangluo 取消該別名
~各用戶都有本身配置別名的文件 ~/bashrc
別名各自用戶家目錄下的/bashrc下
~ls /etc/profile.d/
還有一部的別名在 /etc/profile.d/xia
~自定義的alias放到~/bashrc
---------------------------------------------------------------------------------------------------------------------------------------
8.4 通配符,8.5 輸入輸出重定向:
~ls *.txt
*表示通配
~ls ?.txt
?表示一個任意的字符,兩個的列不出來
~ls [0-9].txt
[]表示或者的意思,一個或者多個範圍。[0-9a-zB-W]也能夠這樣寫,多個範圍
~ls {1,2}.txt
{}也是或者的意思,可是要這樣寫{1,2,3,4}
~cat 1.txt > 2.txt
> 重定向,把1.txt的文件內容輸出到2.txt裏面去。2.txt內容會刪除
~cat 1.txt >> 2.txt
>>追加,1.txt追加到2.txt。2.txt內容不會刪除
~ls aaa.txt 2>err
2>錯誤重定向 表示該命令的錯誤信息輸出到err這個文件裏去,原err文件內容消失
~ls aaa.txt 2>>err
2>>錯誤追加劇定向 表示該命令的錯誤信息追加到err這個文件離去,原err文件內容不會消失
~command >1.txt 2>&1
&> = >+2>(不是命令,只是這樣表示)
ls 存在的.txt 不存在的.txt &> 1.txt 即正確的輸出和錯誤的信息都到1.txt裏面去
一樣支持追加 &>>
也能夠一塊兒寫
ls [12].txt 不存在的.txt >1.txt 2>2.txt 即正確的輸出到1.txt 錯誤的輸出到2.txt
~wc -l < 1.txt (幾乎不用。作了解)
<輸入到一條命令,即查看1.txt的行數
<的左邊必須是一條命令