Shell學習(shell介紹,歷史,補全,通配符等)-2018.12.17

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                  #將正確和錯誤的信息分開重定向

實驗圖片:

歷史命令存放位置

 

別名的建立和刪除

 

通配符
標重定向追加重定向題

 

標錯誤重定向及正確錯誤重定向題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章