1. 程式人生 > >Linux之bash基礎特性三

Linux之bash基礎特性三

命令別名   命令:# alias    定義別名:     (1)alias 不加引數直接使用        顯示當前shell程序所有可使用的命令別名     (2)alias NAME='VALUES' 定義命令別名       注意:在命令列中定義的別名,僅對當前shell程序有效;如果想永久有效,則要定義在配置檔案中         配置檔案的修改生效範圍           僅對當前使用者有效:~/.bashrc           對所有使用者有效:/etc/bashrc       重新讀取配置檔案:source /path/to/config——file   撤銷別名     命令:# unalias  別名名   【note:如果別名同原命令名稱相同,則如果要執行原命令,可以使用"\COMMAND" 】

glob檔案(夾)萬用字元     萬用字元:         *  任意長度的任意字元       ?  任意單個字元       []   匹配指定範圍內的單個字元           [1-9]    匹配單個數字           [a-z]    不區分字母的大小寫           [A-Z] 匹配任意單個大寫字元       ^     匹配指定範圍外的字元            [^]  匹配指定範圍外的單個字元       特殊字符集:                [:digit:]:任意數字,相當於0-9             [:lower:]:任意小寫字母         [:upper:]: 任意大寫字母         [:alpha:]: 任意大小寫字母         [:alnum:]:任意數字或字母         [:space:]:匹配空格字元         [:punct:]:標點符號       【注意: ls /mnt/a[[:digit:]]b == ls /mnt/a*b (注意:在使用特殊字元的時候,需要加兩個中括號)】

I/O重定向   (1)理解三種輸入/輸出模式       標準輸入:keyborad, 0     標準輸出:monitor, 1     標準錯誤輸出:monitor, 2     (2)輸出重定向 【>,>>】     命令格式:# COMMAND > NEW_POS, COMMAND >> NEW_POS      >:覆蓋重定向,目標檔案中的原有內容會被清除     >>: 追加重定向,新內容會追加至目標檔案尾部           # set -C: 禁止將內容覆蓋輸出至已有檔案中       強制覆蓋:>|       # set +C:        2>: 覆蓋重定向錯誤輸出資料流     2>>: 追加重定向錯誤輸出資料流

   合併標準輸出和錯誤輸出為同一個資料流進行重定向:       &>:覆蓋重定向       &>>:追加重定向            COMMAND > /path/to/file.out 2> &1       COMMAND >> /path/to/file.out 2>> &1   (3)輸入重定向 【<】,一般情況下,輸入重定向只使用一個小於號     tr命令:轉換或刪除字元           tr [OPTION]... SET1 [SET2]       用法: tr abc  ABC  FILE          tr  -d "abc"  FILE

管道   語法:COMMAND1 | COMMAND2 | COMMAND3 |...   【Note:最後一個命令會在當前shell程序的子shell程序中執行】

tee命令:【一路輸入產生兩路輸出,但是tee是覆蓋輸出的】 tee [OPTION]... [FILE]... tee命令常用引數 格式:tee 只輸出到標準輸出,因為沒有指定檔案   格式:tee file 輸出到標準輸出的同時,儲存到檔案file中。如果檔案不存在,則建立;如果已經存在,則覆蓋之   格式:tee -a file 輸出到標準輸出的同時,追加到檔案file中。如果檔案不存在,則建立;如果已經存在,則在原始檔後面追加內容   格式:tee - 輸出到標準輸出兩次;如果後面接檔案,則會覆蓋輸出一次。   格式:tee file1 file2 - 輸出到標準輸出兩次,同時儲存到file1和file2中