Bash Shell的操作環境

  1. 路徑與命令查找順序
    可以通過type -a 變量名 來查看變量名
    如果一個系統中有多個ls命令,那麼ls命令執行順序爲
     1.以相對/絕對路徑執行命令,例如"/bin/ls"或"./ls"
     2.由alias找到該命令來執行
     3.由bash內置的(builtin)命令來執行
     4.通過$PATH這個變量的順序找到第一個命令來執行
    舉例子:設置echo的別名爲echo -n,然後再查看echo執行的順序

    [root@www~]#alias echo='echo -n'
    [root@www~]#type -a echo
    echo is aliased to '-echo n'
    echo is shell builtin
    echo is /bin/echo
    
  2. bash的登錄與歡迎信息:/etc/issue,/etc/motd

    issue內的各代碼的意義
    \d 本地端時間日期
    \l 顯示第幾個終端接口
    \m 顯示主機的網絡名稱
    \m 顯示硬件的等級
    \n 顯示主機的網絡名稱
    \o 顯示domain name
    \r 操作系統的版本
    \t 顯示本地端時間的時間
    \s 操作系統的名稱
    \v 操作系統的版本

    可以修改/etc/issue這個文件來修改bash的登錄與歡迎信息。
    /etc/issue.net這個文件是提供給telnet這個遠程登錄程序使用的,當我們使用telnet連接主機,主機的登陸界面,就會顯示/etc/issue.net。
    /etc/motd裏面的信息是你想要讓用戶登錄後取得的一些信息,例如你想要讓大家都知道的信息,那麼可以將信息加入/etc/motd裏面去。

  3. 終端機的環境設置:ssty,set
    查閱目前一些按鍵的內容,可以使用命令ssty。ssty也可以幫助設置終端機的輸入按鍵代表的意義。

    [root@www~]# ssty [-a]
    參數:
    -a:將目前所有的ssty參數列出來
    
    參數 含義
    eof End of life代表輸入結束
    erase 向後刪除字符
    intr 送出一個interrupt的信號給目前正在運行的程序
    kill 刪除在目前命令行上的所有文字
    quit 送出一個quit信號給目前正在運行的進程
    start 在某個進程停止後,重新啓動它的輸出
    stop 停止目前屏幕的輸出
    susp 送出一個terminal stop的信號給正在運行的進程

    bash還有自己的一些終端設置值,利用set來設置,之前提到一些變量,可以利用set來顯示,其實set還可以幫我們設置整個命令輸出/輸入的環境。

    參數 含義
    -u 默認不啓用,若啓用後,當使用未設置變量時,會顯示錯誤信息
    -v 默認不啓用,若啓用後,在訊息被輸出前,會先顯示信息的原始內容
    -x 默認不啓用,若啓用後,在命令被執行前,會顯示命令內容
    -h 默認啓用,與歷史命令有關
    -H 默認啓用,與歷史命令有關
    -m 默認啓用,與工作管理有關
    -B 默認啓用,與刮號[]的作用有關
    -C 默認不啓用,使用>等時,則若文件存在時,該文件不會被覆蓋
    組合按鍵 含義
    Ctrl+C 終止目前的命令
    Ctrl+D 輸入結束,例如郵件結束的時候
    Ctrl+M 就是Enter
    Ctrl+S 暫停屏幕輸出
    Ctrl+Q 恢復屏幕輸出
    Ctrl+U 在提示符下,將整行命令刪除
    Ctrl+Z 暫停目前的命令
  4. 通配符與特殊符號

    符號 意義
    * 代表0到無窮多個任意符
    ? 代表一定有一個任意字符
    [] 同樣代表一定有一個在中括號內的字符,例如[abcd]代表一定有a,b,c,d中任意一個
    [-] 若減號在中括號中,代表在編碼順序內的所有字符,[0-9]代表有0到9中任意一個字符
    [^] 若中括號內第一個字符爲指數符號,那代表原向選擇,例如[^abc]就代表沒有a,b,c
    [root@www~]#LANG=C    <===由於與編碼有關,先設置語系
    [root@www~]# ll -d /etc/cron*     <====找出/etc/下面以cron開頭的文件
    [root@www~]# ll -d /etc/?????   <===找出/etc/下面五個字母的文件名
    [root@www~]# ll -d /etc/*[0-9]*    <===找出/etc/下面含有數字的文件名
    [root@www~]# ll -d /etc/[^a-z]*    <===找出不是小寫字母開頭的文件名
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章