溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux中的管道與重定向是什么

發(fā)布時(shí)間:2023-04-19 10:35:26 來(lái)源:億速云 閱讀:112 作者:iii 欄目:建站服務(wù)器

這篇文章主要介紹了linux中的管道與重定向是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇linux中的管道與重定向是什么文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

在linux中,管道是一種兩個(gè)進(jìn)程間進(jìn)行單向通信的機(jī)制;可以把一個(gè)程序的輸出數(shù)據(jù),通過(guò)這個(gè)通道,輸入給另一個(gè)程序。重定向是指修改原來(lái)默認(rèn)的一些東西,對(duì)原來(lái)系統(tǒng)命令的默認(rèn)執(zhí)行方式進(jìn)行改變。

熟悉操作系統(tǒng)的朋友,常常會(huì)聽(tīng)到、用到管道和重定向這兩個(gè)詞,那么究竟什么是管道,什么是重定向?他們對(duì)我有用嗎?可以說(shuō),管道和重定向是操作系統(tǒng)的精髓之一,在操作系統(tǒng)的進(jìn)程、程序和管理等各方面,都離不開(kāi)管道的功能,至于重定向,更是系統(tǒng)管理員最常用的手段之一,我們可以毫不夸張地說(shuō),沒(méi)有管道和重定向,簡(jiǎn)直就是沒(méi)法管理Linux。

管道:

定義:管道是一種兩個(gè)進(jìn)程間進(jìn)行單向通信的機(jī)制。

學(xué)過(guò)操作系統(tǒng)的人都知道這種單向的通信模式被稱為半雙工。因?yàn)楣艿纻鬟f數(shù)據(jù)的單向性,管道又稱為半雙工管道,并且這種單向性一旦確定就不可以再更改。

Linux中的管道,可以把一個(gè)程序的輸出數(shù)據(jù),通過(guò)這個(gè)通道,輸入給另一個(gè)程序,Linux的管道通過(guò)符號(hào)|實(shí)現(xiàn)。

重定向:

定義:Linux重定向是指修改原來(lái)默認(rèn)的一些東西,對(duì)原來(lái)系統(tǒng)命令的默認(rèn)執(zhí)行方式進(jìn)行改變。

比如說(shuō)簡(jiǎn)單的我不想看到在顯示器的輸出而是希望輸出到某一文件中就可以通過(guò)Linux重定向來(lái)進(jìn)行這項(xiàng)工作。Linux的重定向機(jī)制,通過(guò)符號(hào)<和>來(lái)實(shí)現(xiàn),<代表輸入,>代表輸出。

重定向中的標(biāo)準(zhǔn)輸出:

下圖中給出一個(gè)實(shí)例來(lái)簡(jiǎn)單說(shuō)明:

linux中的管道與重定向是什么

重定向命令中cat txt1 txt2中的txt2的創(chuàng)建方式是:

1.該文件若不存在,系統(tǒng)會(huì)自動(dòng)將它創(chuàng)建出來(lái);

2.當(dāng)這個(gè)文件已存在的時(shí)候,那么系統(tǒng)會(huì)先將這個(gè)文件清空,然后再將數(shù)據(jù)寫(xiě)入;

3.也就是說(shuō)若以>輸出到一個(gè)已存在的文件中,那個(gè)文件就會(huì)被覆蓋掉。

4.如果想保留之前的內(nèi)容,那么需要使用兩個(gè)重定向符號(hào)>>。

重定向中的錯(cuò)誤輸出:

上面介紹的都是在能夠獲得正確的結(jié)果的前提下進(jìn)行的。假設(shè)我現(xiàn)在要find一個(gè)東西,而這個(gè)東西又恰好打不到呢?這個(gè)就需要error log了。在Linux中,1代表了標(biāo)準(zhǔn)輸出,而2代表了錯(cuò)誤輸出。例如:

1>:以覆蓋的方法將正確的數(shù)據(jù)輸出到指定的文件或設(shè)備上;

1>>:以追加的方法將正確的數(shù)據(jù)輸出到指定的文件或設(shè)備上;

2>:以覆蓋的方法將錯(cuò)誤的數(shù)據(jù)輸出到指定的文件或設(shè)備上;

2>>:以追加的方法將錯(cuò)誤的數(shù)據(jù)輸出到指定的文件或設(shè)備上。

注:1或2與>之間是沒(méi)有空格的。

重定向中的標(biāo)準(zhǔn)輸入:

在學(xué)習(xí)其標(biāo)準(zhǔn)輸入之前我們還是來(lái)聊聊如何從鍵盤(pán)獲得數(shù)據(jù)吧。

linux中的管道與重定向是什么

學(xué)習(xí)了<,我就再給大家?guī)б粋€(gè)相似但是雖不同的東西——<<

是的,它有什么不同的呢,我們可以通過(guò)下圖來(lái)感受一下:

linux中的管道與重定向是什么

好的,我想單純從圖片上你是感受不到什么的了。那就讓我來(lái)說(shuō)明一下吧。當(dāng)我們輸入了命令cat >> catfile << "eof"后回車時(shí),還不會(huì)感覺(jué)有什么不妥??墒?,當(dāng)我們?cè)谀骋恍兄休斎肓薳of的時(shí)候,就結(jié)束了(如果你的那一行字符串中只是包含了eof是不會(huì)同樣的效果的)。

關(guān)于“l(fā)inux中的管道與重定向是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“l(fā)inux中的管道與重定向是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI