管理及I/O重定向
INPUT設備:將我們想要對電腦發出的指令傳入電腦(如打字、錄音)
OUTPUT設備:將電腦里面的數據通過輸出設備傳輸給我們(如看電影,聽音樂)
系統設定:
? ? ? ? ? ? ? ? 默認輸出設備:標準輸出 (如果沒有指定輸出設備,就從默認輸出設備中輸出),STDOUT
用來輸出程序的正常運算結果 ,如果某個程序執行錯了
? ? ? ? ? ? ? ? 默認輸入設備:標準輸入(如果沒有指定輸入設備,就從默認輸入設備中輸入),STDIN
? ? ? ? ? ? ? ? 標準錯誤輸出:STDERR,描述符2
標準輸入:鍵盤
標準輸出和錯誤輸出:顯示器
?
I/O重定向:改變了數據的輸入來源或輸出來源的操作
? ? ? ? ? ? ? ? ? ? ? ?eg本來輸入設備是鍵盤,改成其他設備
對于Linux而言,可以用一些符號來表示重定向:
>:輸出重定向,覆蓋輸出,原有數據會覆蓋輸出 ,正確輸出重定向
>>:追加輸出,在文件尾部繼續追加新內容
<:輸入重定向
<<:HERE DOCUMENT 在此處生成文檔
set -C:禁止對已經存在文件使用覆蓋重定向
? ? ? ? ? ? ? ? 強制覆蓋輸出,則使用>|
set +C:關閉上述功能
2>:重定向錯誤輸出 ? !犯錯誤的人都比較2,哈哈
2>>:追加重定向錯誤輸出?
&>:重定向標準輸出或錯誤輸出到同一個文件
!!!!!注:不支持&>>
管道:前一個命令的輸出,作為后一個命令的輸入
?
?
例子:
輸出重定向:
1、>:輸出重定向,覆蓋輸出,原有數據會覆蓋輸出 ,正確輸出重定向
? ? ?
? ? ?
? ? ? ? ?本來列出var下的內容輸出到顯示器上,是能在顯示器看到內容的
? ? ? ? ls /var> /tmp/var.out:將var下的內容輸出重定向到/tmp/var.out中,此時在顯示器上就看不到var下的內容了
? ? ? ? 此時cat /tmp/var.out
? ? ?
? ? ?/tmp/var.out中有了/var下的所有文件? ??
2、>>:追加輸出,在文件尾部繼續追加新內容
? ? ?
? ? ?在文件尾部繼續追加新內容輸出?
3、set -C:禁止對已經存在文件使用覆蓋重定向
? ? ? ? ? ? ? ? 強制覆蓋輸出,則使用>|
? ? ?set +C:關閉上述功能
? ? ??
4、這個我也不曉得該起啥標題
? ? ??
? ? ??注意此時var文件名是拼寫錯誤的,ls /varr 2> /tmp/var.out將錯誤輸出重定向到/tmp/var.out
? ? ? 如果文件名拼寫是正確的,結合2>錯誤輸出重定向時?
? ? ??
? ? ? 此時不會輸出重定向到/tmp/var.out,而是直接輸出在顯示器上
5、 設置文件正確錯誤都不會直接輸出
? ? ? ?(1)&>: ? 重定向標準輸出或錯誤輸出到同一個文件
? ? ? ? ? ? ? ? ? ? ? ? ls /var(r) ?&> ?/tmp/var.out
? ? ? ? ? ? ? ? ? ? ? ? !此時文件名不管是正確的/var還是錯誤的var(r)都會重定向到/tmp/var.out中
? ? ? ?(2)
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?此時文件名如果正確會輸出重定向到/tmp/var3.out中,錯誤會輸出重定向到/tmp/err.out 中
?
輸入重定向:
? ? ? ?1、<:輸入重定向
? ? ? ? ??
? ? ? ? ???此時<相當于鍵盤
? ? ? ? 2、<<:HERE DOCUMENT 在此處生成文檔
? ? ? ? ? ? ??
? ? ? ? ? ? ? 此時EOF相當于文檔結束符,當輸入EOF時則在此處生成了一個文件
? ? ? ? ??
?
管道:前一個命令的輸出,作為后一個命令的輸入?
? ? ? ? 1、 ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ??此時“hello,world”作為echo輸出的同時也作為tr的輸入
? ? ? ?2、
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ??此時cat /etc/passwd | sort= sort /etc/passwd
? ? ? ?3、tee:read from standard input and write to standard output and files
? ? ? ? ? ? ? ? ? ?從標準輸入中讀取數據并發送到標準輸出和文件
? ? ? ? ? ??
? ? ? ? ? ??此時tee將標準輸入的"HELLO,WORLD"發送到/tmp/hello.out文件中
?
轉載于:https://www.cnblogs.com/itmeatball/p/7446105.html
總結
- 上一篇: 【BZOJ】1692: [Usaco20
- 下一篇: 【Python】Python 过滤列表