linux中的輸出重定向是什么意思?
1、Linux下一切皆文件,這里的1和2表示的就是輸出設(shè)備文件的文件描述符。默認(rèn)情況下,無(wú)論是標(biāo)準(zhǔn)輸出還是標(biāo)準(zhǔn)錯(cuò)誤輸出,都是輸出到終端顯示的。但也可以通過(guò)重定向輸出到其他地方,如文件。這就是輸出重定向。
2、輸出重定向 :我們使用 或者 對(duì)輸出進(jìn)行重定向。 符號(hào)的左邊表示文件描述符,如果沒(méi)有的話表示1,也就是標(biāo)準(zhǔn)輸出, 符號(hào)的右邊可以是一個(gè)文件,也可以是一個(gè)輸出設(shè)備(Linux中萬(wàn)物皆文件,即設(shè)備也是文件)。
3、LINUX默認(rèn)輸入是鍵盤,輸出是顯示器。你可以用重定向來(lái)改變這些設(shè)置。
linux輸出重定向到文件命令
語(yǔ)法:nohup Command [ Arg … ] [ & ]無(wú)論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當(dāng)前目錄的 nohup.out 文件中。如果當(dāng)前目錄的 nohup.out 文件不可寫(xiě),輸出重定向到 $HOME/nohup.out 文件中。
command file.txt 注意,如果文件不存在,則會(huì)自動(dòng)創(chuàng)建該文件。如果該文件已經(jīng)存在,命令的輸出將添加到文件的末尾。
輸出重定向:正常輸出是把內(nèi)容輸出到顯示器上,而輸出重定向是把內(nèi)容輸出到文件中例如:ifconfig test.log 即把ifconfig執(zhí)行顯示的內(nèi)容寫(xiě)入test.log.當(dāng)前頁(yè)面不再顯示執(zhí)行結(jié)果。
如果希望對(duì) stdin 和 stdout 都重定向,可以這樣寫(xiě): $ command file1 file2 command 命令將 stdin 重定向到 file1,將 stdout 重定向到 file2。含義:將標(biāo)準(zhǔn)錯(cuò)誤輸出 重定向到 標(biāo)準(zhǔn)輸出。
下面的命令將把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出分別重定向到不同的文件中:kill -HUP 1234 killout.txt 2killerr.txt 如果想把兩組輸出都重定向到一個(gè)文件中,可以用&操作符來(lái)結(jié)合兩個(gè)輸出。
linux重定向附加符號(hào)
1、附加符號(hào)是Linux系統(tǒng)中強(qiáng)大而高效的功能,在處理輸出時(shí)非常有用。通過(guò)使用附加符號(hào),可以保留文件的現(xiàn)有內(nèi)容,并在其末尾添加新的內(nèi)容,而不是覆蓋整個(gè)文件。
2、如果希望對(duì) stdin 和 stdout 都重定向,可以這樣寫(xiě): $ command file1 file2 command 命令將 stdin 重定向到 file1,將 stdout 重定向到 file2。含義:將標(biāo)準(zhǔn)錯(cuò)誤輸出 重定向到 標(biāo)準(zhǔn)輸出。
3、”” 表示的是輸入重定向的意思,就是把后面跟的文件取代鍵盤作為新的輸入設(shè)備。”| ”則表示一個(gè)管道的意思,可以理解為東西從管道的一邊流向另外一邊。
4、重定向:I/O。Linux Shell 環(huán)境中支持輸入輸出重定向,用符號(hào)和來(lái)表示。
5、mydata 記住:(一個(gè)大于符號(hào))表示以覆蓋的方式重定向數(shù)據(jù),意思就是如果大于號(hào)后面跟的文件里有數(shù)據(jù),會(huì)被覆蓋掉。
Linux重定向
可以在腳本中使用其他重定向符號(hào),以實(shí)現(xiàn)更多復(fù)雜的操作和文件處理需求。結(jié)論 附加符號(hào)是Linux系統(tǒng)中強(qiáng)大而高效的功能,在處理輸出時(shí)非常有用。
linux中用0代表標(biāo)準(zhǔn)輸入,1代表標(biāo)準(zhǔn)正確輸出,2代表標(biāo)準(zhǔn)錯(cuò)誤輸出。
和其實(shí)都屬于輸出重定向,都可以輸出內(nèi)容到指定文件。具體的區(qū)別如下:會(huì)覆蓋目標(biāo)的原有內(nèi)容,當(dāng)文件存在時(shí),會(huì)先刪除原文件,再重新創(chuàng)建文件,然后把內(nèi)容寫(xiě)入該文件,否則直接創(chuàng)建文件。