重定向,管道符,黑洞檔案

2021-08-29 23:52:22 字數 2567 閱讀 1484

輸出重定向:

將命令的正常輸出結果儲存到指定的檔案,而不是直接顯示到螢幕上
語法:

> 檔名

表示將標準輸出的內容,覆蓋寫到後面的檔案中

>> 檔名

表示將標準輸出的內容,追加寫到後面的檔案中

將核心的版本資訊追加到1.txt檔案中

輸入重定向

將命令中接受輸入的路徑由預設的鍵盤改為其他檔案

eof

本意是end of file, 表示到了檔案末尾,通常與 << 結合使用, 可以理解為分界符

cat > 1.txt << ccc

之後可以輸入內容,直到輸入ccc,結束輸入

錯誤重定向

將命令執行過程中出現的錯誤資訊(選項或引數錯誤)儲存到指定的檔案,而不是直接顯示到顯示器
操作符

錯誤重定向符號: 2>

標準輸入: 1< 或者簡寫 <

標準輸出: 0> 或者簡寫 >

在實際應用中,錯誤重定向可以用來收集執行的錯誤資訊, 為排錯提供依據

對於shell指令碼還可以將無關緊要的錯誤資訊重定向到空檔案/dev/null,保持指令碼輸出的簡介

將錯誤顯示的內容和 正確顯示的內容分開

接下來檢視兩個目錄

還可以進行簡寫,將正確的資訊 和 錯誤的資訊追加到兩個檔案

null黑洞, 

把/dev/null看做黑洞,所有寫入他的內容都會永遠丟失,而嘗試從它**讀取內容則會什麼都不會讀到

然而/dev/null對命令列和指令碼非常有用

zeor空檔案

在類unix作業系統中,/dev/zero是乙個特別的檔案,當你讀他的時候,他會提供無限的空字元

典型的用法就是產生乙個特定大小的空白檔案

使用dd命令產生乙個50m的檔案

引數if 代表輸入檔案,如果不指定if,預設就會從stdin中讀取輸入

of 代表輸出檔案,如果不指定of,預設就會將stdout作為預設輸出

bs 代表位元組為單位的快大小

count 代表被複製的塊數

能檢視到檔案的大小

但是不能顯示檔案的資訊,因為沒有內容

&> 和 >&符號

1>&2 將標準輸出重定向到標準錯誤

2>&1 將標準錯誤重定向到標準輸出

上圖的no.txt檔案中多了兩個錯誤檔案,是因為追加到檔案的

將正確結果和錯誤結果放到乙個檔案中(簡寫)

互動:工作中shell指令碼中的 >/dev/null 2>&1 是什麼意思

將標準輸出和錯誤輸出全部重定向到/dev/null中,也就是將產生的所有資訊丟棄
管道 | 的使用

ps -aux | grep sshd
tee

-a 內容追加到給定的檔案   而非覆蓋
磁碟使用資訊

df -h

將磁碟使用的資訊寫入到檔案

df -h | tee disk.log

將磁碟使用的資訊追加寫入到檔案

df -h | tee -a disk.log

Linux重定向 管道符

輸出重定向 file 重新定向正確輸出到file中 會覆蓋原檔案 2 file 重新定向錯誤輸出到file中 會覆蓋原檔案 file 重新定向所有輸出到file中 會覆蓋原檔案 file 清空file 重新定向會覆蓋原檔案內容 示例 find etc name passwd file 定向正確輸出到...

重定向和管道符

重定向和管道符 1.重定向 程式 指令 資料 命令 變數 在程式中,資料如何輸入?如何輸出?資料輸入 鍵盤 標準輸入,但並不是唯一輸入方式 stdin echo 123456 passwd stdin username 例如 功能新增使用者 useradd.sh txt文字文件1000個使用者 us...

linux 管道符 輸出重定向

1 輸出重定向 ll a.txt 將 ll的結果寫入到a.txt 2 管道符 ls la grep h 這條命令的理解為 ls la 的結果作為gerp h 的結果 gerp 是強大的文字搜尋工具 他能使用正規表示式搜尋,grep 格式 主要引數 grep c 只輸出匹配的計數 grep i 不區分...