linux重新導向命令

來源:互聯網
上載者:User

linux重新導向命令 標準輸入,輸出和錯誤---------------------------------檔案檔案                描述符---------------------------------輸入檔案—標準輸入       0輸出檔案—標準輸出       1錯誤輸出檔案—標準錯誤   2---------------------------------  1.重新導向 COMMAND_OUTPUT >  2       # 將stdout重新導向到一個檔案.   3       # 如果這個檔案不存在, 那就建立, 否則就覆蓋.   4   5       ls -lR > dir-tree.list  6       # 建立一個包含分類樹列表的檔案.   7   8    : > filename  9       # >操作, 將會把檔案"filename"變為一個空檔案(就是size為0).  10       # 如果檔案不存在, 那麼就建立一個0長度的檔案(與'touch'的效果相同).  11       # :是一個預留位置, 不產生任何輸出.  12  13    > filename     14       # >操作, 將會把檔案"filename"變為一個空檔案(就是size為0).  15       # 如果檔案不存在, 那麼就建立一個0長度的檔案(與'touch'的效果相同).  16       # (與上邊的": >"效果相同, 但是某些shell可能不支援這種形式.) 17  18    COMMAND_OUTPUT >> 19       # 將stdout重新導向到一個檔案.  20       # 如果檔案不存在, 那麼就建立它, 如果存在, 那麼就追加到檔案後邊.  21  22  23       # 單行重新導向命令(只會影響它們所在的行):  24       # -------------------------------------------------------------------- 25  26    1>filename 27       # 重新導向stdout到檔案"filename".  28    1>>filename 29       # 重新導向並追加stdout到檔案"filename".  30    2>filename 31       # 重新導向stderr到檔案"filename".  32    2>>filename 33       # 重新導向並追加stderr到檔案"filename".  34    &>filename 35       # 將stdout和stderr都重新導向到檔案"filename".  36  37    M>N 38      # "M"是一個檔案描述符, 如果沒有明確指定的話預設為1.  39      # "N"是一個檔案名稱.  40      # 檔案描述符"M"被重新導向到檔案"N".  41    M>&N 42      # "M"是一個檔案描述符, 如果沒有明確指定的話預設為1.  43      # "N"是另一個檔案描述符.  44  45       #============================================================================== 46  47       # 重新導向stdout, 一次一行.  48       LOGFILE=script.log 49  50       echo "This statement is sent to the log file, \"$LOGFILE\"." 1>$LOGFILE 51       echo "This statement is appended to \"$LOGFILE\"." 1>>$LOGFILE 52       echo "This statement is also appended to \"$LOGFILE\"." 1>>$LOGFILE 53       echo "This statement is echoed to stdout, and will not appear in \"$LOGFILE\"." 54       # 每行過後, 這些重新導向命令會自動"reset".   58       # 重新導向stderr, 一次一行.  59       ERRORFILE=script.errors 61       bad_command1 2>$ERRORFILE       #  Error message sent to $ERRORFILE. 62       bad_command2 2>>$ERRORFILE      #  Error message appended to $ERRORFILE. 63       bad_command3                    #  Error message echoed to stderr, 64                                       #+ and does not appear in $ERRORFILE. 65       # 每行過後, 這些重新導向命令也會自動"reset".  66       #============================================================================== 67  70    2>&1 71       # 重新導向stderr到stdout.  72       # 將錯誤訊息的輸出, 發送到與標準輸出所指向的地方.  73  74    i>&j 75       # 重新導向檔案描述符i到j.  76       # 指向i檔案的所有輸出都發送到j.  77  78    >&j 79       # 預設的, 重新導向檔案描述符1(stdout)到j.  80       # 所有傳遞到stdout的輸出都送到j中去.  81  82    0< FILENAME 83     < FILENAME 84       # 從檔案中接受輸入.  85       # 與">"是成對命令, 並且通常都是結合使用.  86       # 87       # grep search-word <filename 88  90    [j]<>filename 91       # 為了讀寫"filename", 把檔案"filename"開啟, 並且將檔案描述符"j"分配給它.  92       # 如果檔案"filename"不存在, 那麼就建立它.  93       # 如果檔案描述符"j"沒指定, 那預設是fd 0, stdin.  94       # 95       # 這種應用通常是為了寫到一個檔案中指定的地方.  96       echo 1234567890 > File    # 寫字串到"File".  97       exec 3<> File             # 開啟"File"並且將fd 3分配給它.  98       read -n 4 <&3             # 唯讀取4個字元.  99       echo -n . >&3             # 寫一個小數點. 100       exec 3>&-                 # 關閉fd 3.101       cat File                  # ==> 1234.67890102       # 隨機訪問. 106    |107       # 管道. 108       # 通用目的處理和命令鏈工具. 109       # 與">", 很相似, 但是實際上更通用. 110       # 對於想將命令, 指令碼, 檔案和程式串聯起來的時候很有用. 111       cat *.txt | sort | uniq > result-file112       # 對所有.txt檔案的輸出進行排序, 並且重複資料刪除行. 113       # 最後將結果儲存到"result-file"中. command > filename      把標準輸出重新導向到一個新檔案中command >> filename      把標準輸出重新導向到一個檔案中(追加)command 1 > fielname      把標準輸出重新導向到一個檔案中command > filename 2>&1    把標準輸出和標準錯誤一起重新導向到一個檔案中command 2 > filename     把標準錯誤重新導向到一個檔案中command 2 >> filename     把標準輸出重新導向到一個檔案中(追加)command >> filename 2>&1   把標準輸出和標準錯誤一起重新導向到一個檔案中(追加)command < filename >filename2   把command命令以filename檔案作為標準輸入,以filename2檔案作為標準輸出command < filename    把command命令以filename檔案作為標準輸入command << delimiter   把從標準輸入中讀入,直至遇到delimiter分界符command <&m    把檔案描述符m作為標準輸入command >&m    把標準輸出重新導向到檔案描述符m中command <&-    把關閉標準輸入 2.雙向重新導向   即在重新導向資料到目標檔案的同時,還要保證資料能夠正常處理,使用tee命令。   tee [-a]  file     -a 往檔案尾新增內容     last | tee last_backup | cut -d " " -f 1  #tee相當於對last的結果備份了一次 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.