glob和IO重定向詳細講義

globbing:文件名通配

 匹配模式:元字符

   *:匹配任意長度的任意字符

   wKiom1ebUFKBO7RGAAAhu4-dP7I770.png

   ?:表示任意單個字符

   wKioL1ebUN-CyLiQAAAJ_yPIaLM267.png

   []:匹配指定範圍內的任意單個字符

     有幾種特殊模式:

     [a-z],[A-Z],[0-9],[a-z0-9]

     [[:upper:]]:所有大寫字母

     [[:lower:]]:所有小寫字母

     [[:alpha:]]:所有字母

     [[:alnum:]]:所有字母和數字

     [[:space:]]:所有空白字符

     [[:pucnt:]]:所有標點符號

    [^]:匹配指定範圍外的任意單個字符

     [^[:upper:]]:匹配不是大寫字母的

     [^0-9]:匹配不是數字的

 例:顯示/var目錄下以l開頭,以小寫字母結尾,中間跟一位任意字符的目錄或文件。

    wKioL1ebXbKhTsa9AAAUNG9mXxo529.png

   顯示/testdir/目錄下,以任意一位數字開頭,且以非數字結尾的問件或目錄

     wKiom1ebXcOQ_T15AAAPUJxQHpQ489.png

   顯示/etc目錄下,以非字母開頭,後面跟一個字母及其它任意長度任意的字符的文件或目錄

ls -d /etc/[^[:alpha:]][[:alpaha:]]*


IO重定向及管道

 程序:指令+數據

    程序:IO

   可用於輸入的設備:鍵盤

   可用於輸出的設備:顯示器

 程序的數據流有三種:

  輸入的數據流:<--標準輸入 ( stdin ,鍵盤)

  輸出的數據流:-->標準輸出 (stdout,顯示器,準確的說是用戶終端控制檯),

  錯誤的數據流:--> 標準錯誤輸出(stderr)是由解釋器輔助的數據流

 

 fd:file descriptor,文件描述符

  標準輸入:0

  標準輸出:1

  錯誤輸出:2  (不要搞錯,你搞錯,就很2.)


IO重定向:

  輸出重定向:>

   特性:覆蓋輸出,wKiom1ecDhSjmuR_AAAhhqmjR-U052.png

 

   輸出重定向:>>

   特性:追加輸出,

   wKiom1ecEFaDsiTJAAAveEOwvxs595.png

 注意:set命令可以控制覆蓋重定向,

     -C:文件存在時,禁止覆蓋輸出重定向e

     +C:開啓覆蓋重定向

    要想強制覆蓋輸出重定向就用: >|

   

  錯誤輸出流重定向:2>,2>>

  合併正常輸出流和錯誤輸出流:&> &>>  (2>&1)unix血脈正統高貴兼容性強

   (1)&>, &>>

    (2)COMMAND > /path/to/somefile 2>&1

      COMMAND >> /path/to/somefile 2>&1

wKiom1ecE52AoQWRAAAZIZiZs2A024.png

wKiom1ecFFbz3Mm6AABPl7Wa2ow951.png

輸入重定向:<


tr命令:刪除或替換

 tr [OPTION]... SET1 [SET2]

 對位的模式

 wKiom1ecF86x3l1cAAAZXfMRKqg761.png

here Document:<<  此處文檔

 cat < 顯示在屏幕上

 cat < /path/to/somefile/ <<EOF 輸出到文件中

管道:連接程序,實現將前一個命令的結果用作後一個命令輸出;

wKioL1ecG0vxLbWpAAAPfreL1mw072.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章