1、這里分兩個(gè)過程:先打開file,再將fd=1重定向到file文件上,這樣file文件就成了標(biāo)準(zhǔn)輸出的輸出目標(biāo);之后再將fd=2復(fù)制于fd=1,而fd=1此時(shí)已經(jīng)重定向到file文件上,因此fd=2也重定向到file上。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、杭州ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的杭州網(wǎng)站制作公司
2、stderr的文件描述符為2,Unix程序會(huì)向stderr流中寫入錯(cuò)誤信息。 默認(rèn)情況下, command file 將stdout 重定向到 file, command file 將stdin 重定向到 file。
3、首先是command file將標(biāo)準(zhǔn)輸出重定向到file中, 2&1 是標(biāo)準(zhǔn)錯(cuò)誤拷貝了標(biāo)準(zhǔn)輸出的行為,也就是同樣被重定向到file中,最終結(jié)果就是標(biāo)準(zhǔn)輸出和錯(cuò)誤都被重定向到file中。
4、重定向標(biāo)準(zhǔn)輸出,包括兩種。(1)、(覆蓋),等價(jià)1 將命令執(zhí)行的結(jié)果輸出到指定文件,非顯示器。(2) 、(追加),等價(jià)1 將命令執(zhí)行的結(jié)果追加到指定文件,非顯示器。 重定向標(biāo)準(zhǔn)輸入,包括兩種。
1)、重定向是把前面運(yùn)行命令的結(jié)果輸入到后面的文件中;而管道功能是把前面命令運(yùn)行的結(jié)果作為后面命令的輸入。主要區(qū)別在于后是一個(gè)文件名,而 | 后是一個(gè)命令。
重定向標(biāo)準(zhǔn)輸出,包括兩種。(1)、(覆蓋),等價(jià)1 將命令執(zhí)行的結(jié)果輸出到指定文件,非顯示器。(2) 、(追加),等價(jià)1 將命令執(zhí)行的結(jié)果追加到指定文件,非顯示器。 重定向標(biāo)準(zhǔn)輸入,包括兩種。
這個(gè)命令中實(shí)現(xiàn)重定向的關(guān)鍵系統(tǒng)調(diào)用序列是:dup2(1,2)open(file) == 3 dup2(3,1)注意:0 是標(biāo)準(zhǔn)輸入(STDIN),1 是標(biāo)準(zhǔn)輸出(STDOUT),2 是標(biāo)準(zhǔn)錯(cuò)誤輸出(STDERR)。
1、不管是還是2都屬于追加重定向。也就說,新重定向的內(nèi)容不會(huì)覆蓋掉原有文件里的內(nèi)容,而是另起一行。只不過,是只對(duì)正確的內(nèi)容或者結(jié)果進(jìn)行重定向;而2,只對(duì)錯(cuò)誤的內(nèi)容或結(jié)果進(jìn)行重定向。
2、首先是command file將標(biāo)準(zhǔn)輸出重定向到file中, 2&1 是標(biāo)準(zhǔn)錯(cuò)誤拷貝了標(biāo)準(zhǔn)輸出的行為,也就是同樣被重定向到file中,最終結(jié)果就是標(biāo)準(zhǔn)輸出和錯(cuò)誤都被重定向到file中。
3、應(yīng)該是緩沖區(qū)造成的。printf是帶緩沖的。就算25行輸出一個(gè)\n,也能寫到文件中。但是如果25行什么都不做,那么就寫不到文件中。反正我也覺得很有點(diǎn)奇怪,按理說你重定向之后,標(biāo)準(zhǔn)輸出應(yīng)該指向文件的,可是并沒有。
分享名稱:linux命令無法重定向 linux重定向命令是哪3種
分享URL:http://m.rwnh.cn/article24/dedesce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、ChatGPT、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)