1. 程式人生 > >《鳥哥的Linux私房菜》之系統的輸入輸出流

《鳥哥的Linux私房菜》之系統的輸入輸出流

1、shell中的部分萬用字元
    *   0到多個字元
    ?   一定有一個任意字元
    []  一定有一個括號內的字元
    [-] 編碼表中連續的字元
    [^] 一定沒有[]中的字元
    ~   代表當前使用者的家目錄
    \   轉義符
    ``  代表中間的命令先執行    

    eg: 
        ll -d /root/???   列出/root/下由3個字元組成的檔案
        ll *[0-9]*        ll出當前目錄下含有數字的檔案
        
2、標準輸出流表示正確的資訊    >(覆蓋寫入) >>(追加寫入)
   標準錯誤流表示異常的資訊    2>(覆蓋寫入) 2>>(追加寫入)
    eg:
    ls /root/xx > 1.txt 2>&1    正確流和錯誤流都覆蓋寫入1.txt
    ls /root/xx 2> error.txt > right.txt    正確流輸入到right.txt中   錯誤流輸出到error.txt
    ls /root/xx 2> error.txt 2>/etc/null    把錯誤流丟進垃圾桶裡
3、命令執行判斷的依據
    cmd1 && cmd2    cmd1執行成功才執行cmd2
    cmd1 || cmd2    cmd1執行不成功才執行cmd2

    ls /root/soft || mkdir /root/soft   如果/root下沒有soft資料夾就建立
    ls /root/soft && touch /root/soft/newFile 如果/root/soft存在就在其下建立一個newFile檔案 

    ls /root/soft && touch /root/soft/newFile || mkdir /root/soft
    如果/root/soft存在就建立一個newFile檔案否則就建立/root/soft資料夾
    cmd1 && cmd2 || cmd3     相當於 cmd1 ? cmd2 : cmd3 三目運算子