免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【轉(zhuǎn)】Dos重定向以及管道

轉(zhuǎn)載自: http://hi.baidu.com/dolphinyy/blog/item/ad71f01bf292ebd7ad6e75bd.html


這是我學習之中知道的一些關于重定向和管道的知識,并積累的資料,在這里和大家分享。如果說的有不足和錯誤的地方,請指出。畢竟是交流信息。我這里是從DOS和C語言方面看它,沒有太多涉及LINUX中所說的。我想從以下幾個方面敘述:
一、     重定向:
所謂重定向,就是不使用系統(tǒng)的標準輸入端口、標準輸出端口或標準錯誤端口,而進行重新的指定,所以重定向分為輸出重定向、輸入重定向和錯誤重定向(注:
STDIN   0   標準輸入   鍵盤     命令在執(zhí)行時所要的輸入數(shù)據(jù)通過它來取得  
STDOUT   1   標準輸出   顯示器   命令執(zhí)行后的輸出結(jié)果從該端口送出  
STDERR   2   標準錯誤   顯示器   命令執(zhí)行時的錯誤信息通過該端口送出   )。
通常情況下重定向到一個文件。重定向命令又稱轉(zhuǎn)向命令。其中錯誤重定向和輸出重定向有些類似,就不多說,學過C++可能會明白的多些。
所 謂輸出重定向指把執(zhí)行相應DOS命令時本應在屏幕上顯示的內(nèi)容輸出到重定向命令所指向的文件或設備中去。輸出重定向命令 > 、>>。它們的區(qū)別是:如果你使用的是 > ,原文件會被刪除,重新生成新的文件,其內(nèi)容如上所述;如果你使用的是 >> ,它以追加的方式,將命令的輸出寫入文件的末尾,原文件內(nèi)容會被保留,新的內(nèi)容會添加到原文件件的內(nèi)容的后面。主要用在某個命令的輸出很多,在屏幕上不能 完全顯示,就可把它重定向到一個文件中,稍后再用文本編輯器來打開這個文件。
輸入重定向使輸入信息來自文件。如果一個名為file.com的文件 C:>file 之后,執(zhí)行file時所需的處理信息就改為由文件file讀入,這就是輸入重定向。小于號<是輸入重定向操作符,在<之后的文件名或設備名是 重定向的輸入源。如果一個程序時需要輸入較多數(shù)據(jù),使用輸入重定向可以提高效率。在這里要說一些過濾命令 more 、sort 和 find 。其中more進行分屏顯示;find 查找符合條件的內(nèi)容;sort(按行)排序。
例如:(我是在windows命令提示符中用的)
例1:  
     more < f:\turboc2\readme 
more的輸入來自 c:\tc\readme 文件內(nèi)容多。這個命令與 
type f:\turboc2\readme | more 
作用相同,但更簡潔,效率也更高。
例2:(注cmd重定向進入后用exit返回原目錄)
   cmd > file 把 stdout 重定向到 file 文件中 
   cmd >> file 把 stdout 重定向到 file 文件中(追加) 
   cmd 1> file 把 stdout 重定向到 file 文件中 
   cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中 
   cmd 2> file 把 stderr 重定向到 file 文件中 
   cmd 2>> file 把 stderr 重定向到 file 文件中(追加) 
   cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中 
   cmd < file >file2 cmd 命令以 file 文件作為 stdin,以 file2 文件作為 stdout
       注:>&n 使用系統(tǒng)復制文件描述符 n 并把結(jié)果用作標準輸出 
           <&n 標準輸入復制自文件描述符 n 
           <&- 關閉標準輸入(鍵盤) 
           >&- 關閉標準輸出 
           n<&- 表示將 n 號輸入關閉 
           n>&- 表示將 n 號輸出關閉
           &> 同時實現(xiàn)輸出重定向和錯誤重定向
用 途:DOS的標準輸入輸出通常是在標準設備鍵盤和顯示器上進行的, 利用重定向,可以方便地將輸入輸出改向磁盤文件或其它設備。如在批處理命令執(zhí)行期間為了禁止命令或程序執(zhí)行后輸出信息而擾亂屏幕, 可用DOS重定向功能把輸出改向NUL設備(NUL不指向任何實際設備): C:\>copy a.txt b.txt > NUL。命令執(zhí)行結(jié)束不顯示"1 file(s) copied"的信息。有的交互程序在執(zhí)行時要求很多鍵盤輸入, 但有時輸入是固定不變的, 為加快運行速度, 可預先建立一個輸入文件,此文件的內(nèi)容為程序的鍵盤輸入項, 每個輸入項占一行。假如有一個程序cx 其輸入項全部包括在文件in.dat中, 執(zhí)行 C:\>cx <in.dat>NUL 程序就自動執(zhí)行。
二、     管道:
進 程從“管道”的一端發(fā)送另一端接收,也就是說將若干命令用輸入輸出“管道”串接在一起,這就是管道;管道在某種程度上是輸入和輸出重定向的結(jié)合,前一個命 令的輸出,作為下一個命令的輸入,而不需要經(jīng)過任何中間文件。豎線字符“|”是管道操作符,管道命令經(jīng)常與上面講的過濾命令聯(lián)合使用。DOS的管道功能是 使一個程序或命令的標準輸出用做另一個程序或命令的標準輸入。如把DEBUG的輸入命令寫入文件aaa, 用type命令通過管道功能將aaa的內(nèi)容傳輸給DEBUG, 在DEBUG執(zhí)行期間不再從控制臺索取命令參數(shù), 從而提高了機器效率。命令為: C:\>type aaa|DEBUG >bbb。
例如,這是我以前看到的例子。命令dir|more使得當前目錄列表在屏幕上逐屏 顯示。dir的輸出是整個目錄列表,它不出現(xiàn)在屏幕上而是由于符號“|”的規(guī)定,成為下一個命令more的輸入,more命令則將其輸入,more命令則 將其輸入一屏一屏地顯示,成為命令行的輸出。再如命令dir|find”hello”>file,其中 dir的輸出是當前目錄列表,不出現(xiàn)在屏幕上而是成為find命令的輸入。find命令在輸入文件中尋找指定字符串"hello"并輸出包含這個字符串的 行,由于輸出重定向符號>的規(guī)定,最后的輸出已存入文件file,不出現(xiàn)在屏幕上。命令dir|find"< dir >file則是將當前目錄項中的子目錄項尋找出來并存入文件file中。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
DOS的管道、重定向等 - Fish - 博客大巴
I/O重定向 詳解及例子
c語言輸出重定向【Z】
Linux IO重定向
解釋>/dev/null2>&1
一篇文章Shell腳本快速入門
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服