重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
IO 重定向是為了改變默認輸入、輸出的位置,如默認情況下標準輸出(STDOUT),標準錯誤輸出(STDERR)都是輸出到顯示終端,如對標準輸出、標準錯誤輸出改變其默認輸出位置,可重定向輸出到指定的文件中(實際工作中經常這么使用),要重定向就要配合一些語法符號。
成都創新互聯公司是一家網站設計公司,集創意、互聯網應用、軟件技術為一體的創意網站建設服務商,主營產品:成都響應式網站建設公司、品牌網站建設、成都全網營銷。我們專注企業品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優質呈現。成都網站建設、做網站、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。
文件或目錄的訪問權限分為只讀、只寫、可執行三種。
修改文件權限命令:chmod、chgrp、chown。
搞懂「文件所屬者更改及權限的賦予」,涉及關于 chown、chmod、chgrp 命令,結合用例零基礎理解和掌握使用。
一個進程默認會打開標準輸入、標準輸出、錯誤輸出三個文件描述符
文件描述符為0,小于號表示數據由文件流入命令
usage:
命令 file
#加入輸入重定向,對輸入文件進行計數
wc -l /etc/passwd
文件描述符為1,大于號表述數據由命令流入文件
所以: echo "hello" t.log 也可以寫成 echo "hello" 1 t.log
會把文件的內容清空,再輸入到新的文件
會把當前內容保持不變,然后在下一行進行追加
2 錯誤重定向,如果當前命令產生了錯誤,會把錯誤重定向到文件中,而不會打印到屏幕
無論內容正確還是錯誤都會把文件輸出到文件中。
stderr的文件描述符為2,Unix程序會向stderr流中寫入錯誤信息。
默認情況下, command file 將stdout 重定向到 file, command file 將stdin 重定向到 file。
如果希望 stderr 重定向到 file,可以這樣寫:
$ command 2file
如果希望 stderr 追加到 file 文件末尾,可以這樣寫:
$ command 2file 2 表示標準錯誤文件(stderr)
如果希望將 stdout 和 stderr 合并后重定向到 file,可以這樣寫:
$ command file 21 或者 $ command file 21
如果希望對 stdin 和 stdout 都重定向,可以這樣寫:
$ command file1 file2
command 命令將 stdin 重定向到 file1,將 stdout 重定向到 file2。
含義:將標準錯誤輸出 重定向到 標準輸出。
符號是一個整體,不可分開,分開后就不是上述含義了。
比如有些人可能會這么想:2是標準錯誤輸入,1是標準輸出,是重定向符號,那么"將標準錯誤輸出重定向到標準輸出"是不是就應該寫成"21"就行了?是這樣嗎? 如果是嘗試過,你就知道21的寫法其實是將標準錯誤輸出重定向到名為"1"的文件里去了
1、輸入重定向:標準的輸入設備是鍵盤,常規的輸入途徑通過鍵盤進行信息的輸入。輸入重定向就是不使用系統提供的標準輸入端口,重設讀取數據的方式。例如,輸入重定向為一個文件,系統就會從文件中讀取數據進行運作,而不是通過鍵盤錄入數據讓系統進行讀取。
2、標準輸入文件(stdin):stdin 的文件描述符為0,默認輸入硬件 ---- 鍵盤。
3、輸入重定向的符號是: (小于號)
4、輸入重定向的格式與說明:
5、實操練習:
linux中的、、、、2、2、21、、,總歸要面對的
為了更好的理解這個問題,我們需要追本溯源。
執行一個shell命令行時通常會自動打開三個標準文件
(1) 、標準輸入文件(stdin)
通常對應終端的鍵盤。
(2)、標準輸出文件(stdout)。
(3)、標準錯誤輸出文件(stderr)。
(2)和(3)這兩個文件都對應終端的屏幕。
進程將從標準輸入文件中得到輸入數據。
將正常輸出數據輸出到標準輸出文件[顯示器]。
將錯誤信息送到標準錯誤文件中[顯示器]。
下圖所示:
0、1、2表示一個文件描述符
但是,有時候我們不想把一些進程處理后信息輸出到顯示器。
這時我們就引出了重定向。
改變標準輸入/輸出的方向
三種重定向:
1、重定向標準輸出,包括兩種。
(1)、(覆蓋),等價1
將命令執行的結果輸出到指定文件,非顯示器。
(2) 、(追加),等價1
將命令執行的結果追加到指定文件,非顯示器。
2、 重定向標準輸入,包括兩種。
(1) 、
將命令中接收的輸入途徑,由鍵盤改為指定文件。
(2) 、[Here Document]
命令序列傳遞到一個交互程序或者命令中。
3、 重定向標準錯誤,包括兩種。
(1) 、2(覆蓋)
將命令執行的結果輸出到指定文件。
(2) 、2(追加)
將命令執行的結果追加到指定文件。
1、重定向標準輸出和重定向標準錯誤到同一個文件中
有以下的幾種方式
(1) 、21
(2) 、
(3) 、
2、 兩個特殊文件
(1) 、/dev/nul
過濾標準錯誤信息
意思就是不想顯示結果就輸出到這里面。
(2) 、/dev/zero
創建指定長度的文件
案例1:
測試 and
案例2:
測試 and
測試
測試
案例3:
測試2 and 2
案例4:
測試重定向標準輸出和重定向標準錯誤到同一個文件中
(1)、
(2)、
與上面的案例類似,不做解釋
(3) 、21
案例5:
使用/dev/nul文件
有時候我們使用命令,不想將輸出的信息顯示到界面
這時我們可以使用 /dev/nul[常用]
簡單測試修改demo 用戶密碼