歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux shell編程---- 管道+I/O重定向

Linux shell編程---- 管道+I/O重定向    1 管道簡介      1 管道技術是Linux的一種基本的進程間通信技術,它利用先進先出排隊模型來指揮進程間的通信。對於管道,我們可以形象的理解為連接兩個實體的一個單向連接器        2 Shell編程中管道符號是"|",命令直接利用管道進行通信的一般格式         command1 | command2 | command3 | ... | commandn         command1~commandn是n個命令,如果沒有管道那麼結果將會直接顯示在Shell中,當Shell遇到管道的時候,就將輸出發送下一個命令    2 cat和more命令     1 cat和more命令都是用來顯示文件的內容,它們的基本格式特比較類似        cat 選項 文件        more 選項 文件       2 cat命令的選項名稱及其意義         選項                 意義          -a                顯示文件的所有內容          -b                由1開始對所有輸出的行數編號,但對空行不編號          -E                每一行末尾顯示"$"          -n                由1開始對所有的輸出行進行編號          -s                當遇到連續的兩行以上的空行時就替換為一行空白行          -v                不可顯示的字符以可見的形式顯示       3 more命令的選項名稱及其意義         選項                  意義         -num            一次顯示的行數         -f                  計算行數時,以實際的行數,而非自動換行過後的行數         -s                 當遇到連續的兩行以上的空行時就替換為一行空白行         +num           從第num行開始顯示       4 cat和more命令的最大區別在於,cat命令是不提供分頁功能的,但是more命令是顯示超過一頁的文件時提供了分頁功能    3 I/O重定向     1 I/O重定向是一個過程,這個過程捕捉一個文件,命令,程序或腳本,甚至代碼塊的輸出,然後把捕捉到的輸出作為輸入發送給另外一個文件,命令,程序       2 文件標識符是從0開始到9結束的整數,指明了與進程相關的特定數據流的源。當Linux系統啟動一個進程時,將自動為該進程打開三個文件,標准輸入,標准輸出,標准錯誤輸出,分別由文件標識符0,1,2標識,該進程如果要打開其它的文件,則從整數3開始表識       3 基本I/O重定向符號及其意義               符號                           意義         cmd1 | cmd2              管道符,將cmd的標准輸出作為cmd2的標准輸入         > filename                  將標准輸出寫道文件filename之中         < filename                  將文件filename的內容作為標准輸入         >> filename                將標准輸出追加到filename,如果不存在則先創建一個
Copyright © Linux教程網 All Rights Reserved