教學(xué)Unix操作系統(tǒng)命令
我們都知道Unix操作系統(tǒng)的Shell命令有很重要作用,下面,我們本章主要向大家介紹輸出入轉(zhuǎn)向的知識(shí)。希望對大家有用。
Unix操作系統(tǒng)輸出入轉(zhuǎn)向
在 Unix操作系統(tǒng) 中,每一個(gè)process 均有三個(gè)特殊的 file descriptor , 標(biāo)準(zhǔn)輸入( standard input )、標(biāo)準(zhǔn)輸出 ( standard output )、標(biāo)準(zhǔn)錯(cuò)誤輸出( standarderror )。這三個(gè)平常是接受 terminal 的輸入,而由 terminal 顯示出去。但是Unix操作系統(tǒng) 提供使用者可以使用一般的檔案或 pipe 來取代這些標(biāo)準(zhǔn)輸出入設(shè)備。在tcsh 里頭,使用者可以利用">"和"<"來進(jìn)行輸出入轉(zhuǎn)向的工作。
輸出轉(zhuǎn)向:command > file
你可以將一個(gè)指令的輸出結(jié)果轉(zhuǎn)向到一個(gè)檔案,讓此檔案儲(chǔ)存這個(gè) command的輸出結(jié)果。
但是請注意,如果 file 已經(jīng)存在在系統(tǒng)中,則 file 將會(huì)被蓋過。也就是原先 file 的內(nèi)容將會(huì)消失。
command >& file
與 > 相同,但是這個(gè)格式表示連 standard error 一起轉(zhuǎn)向。在 Unix操作系統(tǒng) 中,standard error 在 programer 的習(xí)慣是用來顯示 error 的發(fā)生,因此如果沒有被轉(zhuǎn)向時(shí), standard output 的結(jié)果將會(huì)被轉(zhuǎn)向到 file ,而 standarderror 的結(jié)果仍將顯示在 terminal 上。
command >> file
此格示代表將 standard output 的結(jié)果 append 到 file 中。如果 file 已存在在系統(tǒng)中,則 standard output 的結(jié)果將會(huì)加到 file 的末端,如果 file原先并不存在,則 file 將會(huì)被開啟而將 standard output 的結(jié)果存至 file中。
command >>& filE
同上,不過此格式代表連 standard error 一起 append 到 file 之中。
Unix操作系統(tǒng)輸入轉(zhuǎn)向
command < file
一般程式須要自終端機(jī)輸入資料,而你可以將程式所要輸入的資料統(tǒng)一編入檔案中,利用轉(zhuǎn)向一并輸入。
set ignoreeeof
由於轉(zhuǎn)向輸出會(huì)有將現(xiàn)有檔案 overwrite 的危險(xiǎn),csh 與 tcsh 提供使用者一個(gè)方式來避免。
當(dāng)你在Unix操作系統(tǒng)執(zhí)行 set ignoreeeof 之後,如有輸出轉(zhuǎn)向到已存在之檔案時(shí),它會(huì)發(fā)出一個(gè)檔案已存在的訊息。 而在處理 append 轉(zhuǎn)向上,如果已經(jīng) setignoreeeof ,則當(dāng)要 append 一個(gè)不存在的檔案,將會(huì)出現(xiàn)一個(gè) errormessege 。
然而如果我們當(dāng)真是要轉(zhuǎn)向蓋過一個(gè)已存在的檔案,或者是要 append 一個(gè)不存在的檔案時(shí),又要如何呢?我們只要在 ">" ">&" ">>" ">>&" 後面加上驚嘆號(hào)"!",成為 ">!" , ... 就可以了。
好了,這次關(guān)于Unix操作系統(tǒng)的Shell命令的一些知識(shí)就介紹到這里,希望大家看完之后技術(shù)會(huì)有很高的提升。
【編輯推薦】