TLCL學習筆記|第七章《重定向》|重定向符“>”|part1
(認知有限,如有不妥,還請告知,歡迎討論)
一般情況下,
如果執(zhí)行 ls -l?命令,其結(jié)果(標準輸出)輸出到屏幕;
如果執(zhí)行 ls -l <一個不存在的目錄>?命令,其結(jié)果(標準錯誤輸出)輸出到屏幕。
> (標準輸出重定向)
執(zhí)行 ls -l . > ls-output.txt
此時原來會打印到屏幕的標準輸出,則存到了ls-output.txt
在這之后,如果下一步再次執(zhí)行類似的命令,但查找的目錄不是一個存在的目錄
(比如執(zhí)行ls -l /bin/usr >?ls-output.txt , 屏幕會顯示標準錯誤輸出No such file or directory), ls-output.txt會被清空,因為程序執(zhí)行錯誤,導致沒有輸出結(jié)果。(ls -l?ls-output.txt,會發(fā)現(xiàn)文件長度變?yōu)?)
如果下一步需要查找的目錄是一個存在的目錄,比如執(zhí)行ls -l /usr/bin?> ls-output.txt, 則會重寫ls-output.txt
如果不想重寫文件,想繼續(xù)接著之前的內(nèi)容續(xù)寫文件, 則使用 >>, 比如?ls -l /usr/bin?>>?ls-output.txt
2> (標準錯誤輸出重定向)
執(zhí)行?ls -l /bin/usr 2> ls-error.txt 將報錯文本寫進error.txt中
如果想將 標準錯誤輸出 和 標準輸出 都續(xù)寫進同一個txt文件中,則可執(zhí)行
ls -l /bin/usr >> ls-output.txt 2>&1
或
ls -l /bin/usr &>> ls-output.txt
=END=
[1]http://billie66.github.io/TLCL/book/chap07.html