Linux中重定向

2021-09-08 04:20:04 字數 1575 閱讀 5639

**

1重定向

1.1      重定向符號

>               輸出重定向到乙個檔案或裝置 覆蓋原來的檔案

>!              輸出重定向到乙個檔案或裝置 強制覆蓋原來的檔案

>>             輸出重定向到乙個檔案或裝置 追加原來的檔案

<               輸入重定向到乙個程式

1.2標準錯誤重定向符號

2>             將乙個標準錯誤輸出重定向到乙個檔案或裝置 覆蓋原來的檔案  b-shell

2>>           將乙個標準錯誤輸出重定向到乙個檔案或裝置 追加到原來的檔案

2>&1         將乙個標準錯誤輸出重定向到標準輸出 注釋:1 可能就是代表 標準輸出

>&             將乙個標準錯誤輸出重定向到乙個檔案或裝置 覆蓋原來的檔案  c-shell

|&              將乙個標準錯誤 管道 輸送 到另乙個命令作為輸入

1.3命令重導向示例

在 bash 命令執行的過程中,主要有三種輸出入的狀況,分別是:

1. 標準輸入;**為 0 ;或稱為 stdin ;使用的方式為 <

2. 標準輸出:**為 1 ;或稱為 stdout;使用的方式為 1>

3. 錯誤輸出:**為 2 ;或稱為 stderr;使用的方式為 2>

[test @test test]# ls -al > list.txt

將顯示的結果輸出到 list.txt 檔案中,若該檔案以存在則予以取代!

[test @test test]# ls -al >> list.txt

將顯示的結果累加到 list.txt 檔案中,該檔案為累加的,舊資料保留!

[test @test test]# ls -al  1> list.txt   2> list.err

將顯示的資料,正確的輸出到 list.txt 錯誤的資料輸出到 list.err

[test @test test]# ls -al 1> list.txt 2> &1

將顯示的資料,不論正確或錯誤均輸出到 list.txt 當中!錯誤與正確檔案輸出到同乙個檔案中,則必須以上面的方法來寫!不能寫成其它格式!

[test @test test]# ls -al 1> list.txt 2> /dev/null

將顯示的資料,正確的輸出到 list.txt 錯誤的資料則予以丟棄! /dev/null ,可以說成是黑洞裝置。為空,即不儲存。

1.4為何要使用命令輸出重導向

• 當螢幕輸出的資訊很重要,而且我們需要將他存下來的時候;

• 背景執行中的程式,不希望他干擾螢幕正常的輸出結果時;

• 一些系統的例行命令(例如寫在 /etc/crontab 中的檔案)的執行結果,希望他可以存下來時;

• 一些執行命令,我們已經知道他可能的錯誤訊息,所以想以『 2> /dev/null 』將他丟掉時;

• 錯誤訊息與正確訊息需要分別輸出時。

Linux中重定向 追加重定向與輸入重定向

簡單介紹一下重定向 追加重定向與輸入重定向,輸入追加重定向的用法 重定向 我們可以將想要輸出的內容通過重定向新增到某個檔案中 ps 將hello寫入到當前資料夾下的a.txt檔案中,然後檢視a.txt檔案內容 追加重定向 追加重定向和重定向大致相同,不同點是追加重定向在檔案的基礎上繼續新增內容 ps...

Linux中的重定向

1.輸出重定向 command filename 把標準輸出重定向到乙個新檔案中,當filename不存在時 command filename 把標準輸出重定向到乙個檔案中 追加 command filename 2 1 把標準輸出和錯誤一起重定向到乙個檔案中 command filename 2 ...

Linux中的重定向

標準輸入流 stdin 標準輸出流 stdout 標準錯誤 stderr 三個資料流其實就是三個檔案 在linux中檔案是具備檔案描述符的 比如0 1 2,分別對應上面三個流,其他的檔案都是從3開始標號的以此類推,都指向了終端,重定向就是改變其指向。符號 一般是指將輸出的結果指引到某個檔案。比如 l...