當前位置:首頁 » 操作系統 » linux管道與重定向

linux管道與重定向

發布時間: 2022-07-07 15:32:01

『壹』 系統 linux 下的 管道 和 重定向 這兩個概念怎麼理解求通俗的解釋,一定採納

管道
舉例:ls -a | grep netkeeper
說明:就是把前一個命令的結果當成後一個命令的輸入。結合本例就是先顯示所有的文件,然後再用grep命令在ls的結果中查找包含netkeeper的文件。

重定向
舉例:cat hello.c > /home/root/Documents/test.txt
說明:就是把原本應該輸出(或輸入)到一個地方的文件流輸出(或輸入)到另外一個地方。把文件方向給改變了,所以叫重定向。結合本例:cat本來是要把hello.c的內容顯示到當前屏幕上,但是加了個重定向後,這個輸出流就被定向到/home/root/Documents/目錄下的test.txt文件中去了。

>與>>
>會覆蓋目標文件;>>是向目標文件末尾追加內容。
如果目標文件不存在,那麼這兩個命令都會在指定的目錄下新建文件。

『貳』 linux重定向的基本概念

(這是理解後面的知識的前提,請務必理解)
a、 I/O重定向通常與 FD 有關,shell的FD通常為10個,即 0~9;
b、 常用FD有3個,為0(stdin,標准輸入)、1(stdout,標准輸出)、2(stderr,標准錯誤輸出),默認與keyboard、monitor有關;
c、 用 < 來改變讀進的數據信道(stdin),使之從指定的檔案讀進;
d、 用 > 來改變送出的數據信道(stdout, stderr),使之輸出到指定的檔案;
e、 0 是 < 的默認值,因此 < 與 0<是一樣的;同理,> 與 1> 是一樣的;
f、 在IO重定向 中,stdout 與 stderr 的管道會先准備好,才會從 stdin 讀進資料;
g、 管道「|」(pipe line):上一個命令的 stdout 接到下一個命令的 stdin;
h、 tee 命令是在不影響原本 I/O 的情況下,將 stdout 復制一份到檔案去;
i、 bash(ksh)執行命令的過程:分析命令-變數求值-命令替代(``和$( ))-重定向-通配符展開-確定路徑-執行命令;
j、 ( ) 將 command group 置於 sub-shell 去執行,也稱 nested sub-shell,它有一點非常重要的特性是:繼承父shell的標准輸入、標准輸出、標准錯誤和任何其他打開的文件描述符。
k、 exec 命令:常用來替代當前 shell 並重新啟動一個 shell,換句話說,並沒有啟動子 shell。使用這一命令時任何現有環境都將會被清除。exec 在對文件描述符進行操作的時候,也只有在這時,exec 不會覆蓋你當前的 shell 環境。

『叄』 linux重定向和管道命令

echo "gnome-terminal "commands" " >> /dev/pts/1 ?
創建兩個空文件file1、file2,使用vi編輯器給file1和file2添加文本內容並保存,利用重定向功能實現將文件file1與file2的內容寫到文件file3命令該怎麼打啊 求幫忙

『肆』 "在Linux系統中有重定向和管道的功能,他們都能把前面的輸出作為後面的輸入,他們的區別是什麼請說出如

1)、重定向是把前面運行命令的結果輸入到後面的文件中;而管道功能是把前面命令運行的結果作為後面命令的輸入。主要區別在於>後是一個文件名,而 | 後是一個命令。
2)wc output.wc 2>error.wc 表示把/etc/passwd文件作為wc的輸入,統計出passwd文件的行數、單詞數和字元數,並輸出到文件output.wc中,錯誤記錄輸出到error.wc中。
3)、ls –al ./ | wc > ls.wc表示把./目錄下的文件列出來,由wc統計出行數、單詞數和字元數,並記錄到文件ls.wc中。
還有不會的請參考《linux就該這么學》,針對各種linux疑難雜症,幫助linux學習者。

『伍』 linux中管道是指什麼,重定向是指什麼

管道是把一個命令的輸出作為下一個命令的輸入,
如 ls /etc | more
cat /etc/passwd | grep root
重定向是把一個命令的輸出重定向到另一個文件
如 echo 'hello' > abc.txt 一個大於號是抹除源文件內容並寫入,如果沒有這個文件就創建這個文件並寫入
echo 'hello world' >> /var/log/messages 兩個大於號是追加內容到這個文件,沒有這個文件就創建並寫入
cat /etc/sysconfig/network-scripts/ifc-eth0 >>abcd.txt

break 2>/dev/null

『陸』 在Linux中,stdin/stdout應用於管道的重定向問題。新手自學,望高手講解,不勝感謝。

其中這個|也就是管道的作用是將第一個命令的結果傳輸給後面的一個命令,相當於有人通過快遞給你寄東西,而管道就是快遞員,而-的意思是這樣的,要是你不加這個-,默認是保存到硬碟的當前位置的,而用了-就是將本來要保存的文件輸出到了stdout,stdout這個是標准輸出,就是我們屏幕,再具體一點就是數據最終會現在那個你打命令的終端窗口。

『柒』 Linux管道與重定向

重定向輸出
$ls
-l
>
lsoutput.txt
這條命令把ls命令的輸出保存到文件lsoutput.txt中。
$ps
>>
lsoutput.txt
使用>>操作符將輸出內容附加到一個文件中。這條命令將ps命令的輸出附加到指定文件的尾部。
如果想對標准錯誤輸出進行重定向,需要把准備重定向的文件描述符編號加在>操作符的前面。因為標准錯誤輸出的文件描述符編號為2,所以我們使用2>操作符。當需要丟棄錯誤信息並阻止它顯示在屏幕上時,這個方法很有用。
下面的命令將把標准輸出和標准錯誤輸出分別重定向到不同的文件中:
$kill
-HUP
1234
>killout.txt
2>killerr.txt
如果想把兩組輸出都重定向到一個文件中,可以用>&操作符來結合兩個輸出。如下所示:
$kill
-l
1234
>killouterr.txt
2>&1
管道
通常把一個進程的輸出通過管道連接到另外一個進程的輸入。
cmd1
|
cmd2
shell負責兩個命令的標准輸入和標准輸出。
cmd1的標准輸入來自終端鍵盤
cmd1的標准輸出傳遞給cmd2,作為它的標准輸入
cmd2的標准輸出連接到終端屏幕。
shell所做的工作從效果來看是對標准輸入和標准輸出流進行了重新連接,使數據流從鍵盤輸入通過兩個命令最終輸出到屏幕上。

『捌』 系統linux 下的 管道 和 重定向 這兩個概念怎麼理解

管道是一個先進先出的特殊文件,一方只能依次寫進去,另一方也只能依次讀出來
理解管道符前先要知道一個進程運行後有3個最基本的文件,標准輸入(0表示),標准輸出(1表示),錯誤輸出(2表示)
通過命令查看當前3個基本文件,ls-l/proc/$$/fd/
shell中的管道符做了3件事,
1,先創建一個管道文件pipe
2,將管道符前面的一個命令的標准輸出替換為pipe
2,將管道符後面的一個命令的標准輸入替換為pipe
例子
echotest>/tmp/test
tail-f/tmp/test|cat&
查看tail命令3個基本文件
ls-l/proc/`pidoftail`/fd
查看cat命令3個基本文件
ls-l/proc/`pidofcat`/fd
shell重定向本身從編程角度理解就是賦值語句,0,1,2本身理解為3個變數,
<和>表示賦值符號,變數名只能用數字表示,變數只能在/proc/進程pid/fd/下查看
<以只讀方式打開一個文件,然後把打開的文件賦值給變數
>以只寫方式打開一個文件,然後把打開的文件賦值給變數
<>以讀寫方式打開一個文件,然後把打開的文件賦值給變數
exec1<>/tmp/info表示讀寫打開/tmp/info,然後賦值給變數1,執行後其他命令列印的信息都會輸入到/tmp/info里,默認所有的列印信息(echoaaaaaa)都會獲取變數1裡面打開的文件,然後把要列印的信息寫到這個文件裡面
如果寫成exec1</tmp/info這種方式,那麼列印的信息就沒法寫進去了,因為是只讀方式打開的
ls-l/dev/fd/或者ls-l/proc/$$/fd/查看
cat/proc/cmdline>/tmp/cmd通常啥這種寫法,賦值符號前面沒寫具體的變數名,默認就是1,也就是cat/proc/cmdline1>/tmp/cmd
echor>/tmp/r&&exec6</tmp/r
lsof|grep/tmp/r可以查看到6r屬性,文件以讀方式開打,並且復制給變數6

熱點內容
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:827
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:309
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:939
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:821
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:89
安卓怎麼關簡訊重復提醒 發布:2024-11-19 09:02:00 瀏覽:635
html與php的區別 發布:2024-11-19 09:00:53 瀏覽:193
晚安密碼多少 發布:2024-11-19 09:00:51 瀏覽:945
易語言腳本模塊 發布:2024-11-19 09:00:44 瀏覽:484
經典矩陣C語言 發布:2024-11-19 08:56:23 瀏覽:268