linux管道-九游会j9娱乐平台
① linux中的命名管道是起什麼作用的
把前一個參數的結果傳給下一個參數;
舉例:
ps -ef|grep ora_ 查看系統的進程,然後把結果傳給grep,grep在過濾包含ora_的進程
② 誰能給我舉例說明下linux中管道符的用法
只要理解了什麼是管道,就很簡單了
管道「| 」就是將前面命令輸出作為管道後面命令的輸入
如:
ls -a | grep test | awk "{print $1}"
就是將ls -a 顯示的結果,在帥選出含有test,然後列印出第一列。
③ linux什麼是管道符
| 這就是管道符,把前面的命令執行結果輸送到管道符後的命令作為參數執行。
如: netstat -tunlp | grep 22
netstat -tunlp輸出的內容 作為grep查找的資源。
④ linux裡面什麼是管道符
題主你好,
首先,linux下的管道符使用"豎杠"表示:
|
它的作用是:
連接兩個命令,將第一個命令的輸出作為第二個命令的輸入.
形象一點的比喻:
管道符好比流水線上的傳送帶,比如,一個流水線是由兩步組成的,先由第一道工序將黃桃洗凈,然後通過傳送帶將洗凈的黃桃送到第二道工序裝罐,用管道的思維去處理這個過程就是:
清洗黃桃|裝罐
需要注意的是,其實每個過程都是由"動作 被作用對象"組成,也就是說,上面的例子其實是:
清洗黃桃
裝罐洗凈的黃桃
這兩步組成的,但由於管道符的使用,除了第一道工序需要"被作用對象"外,後面的工序使用的是管道符傳過來的"前一道工序處理過的對象".
舉例來說,使用ls和grep這兩個命令實現只輸出文件的詳細信息,不輸出目錄的詳細信息.正常情況下這倆半個命令的用法是:
ls選項路徑
grep模式文件流
而使用管道連在一起的寫法:
ls-l/root/ok/tmp|grep '^-'
*.在使用管道符的組合命令中,只有第一個命令需要"被作用對象"
希望對題主有幫助,歡迎追問
⑤ linux 管道原理
linux原理的學習,我打算由淺入深,從上之下,也就是先了解個大概再逐個深入。先了解一下linux的進程先。
一、linux進程上下文
linux進程上下文,我理解就是進程組成元素的集合。包括進程描述符tast_struct,正文段,數據段,棧,寄存器內容,頁表等。
1)tast_struct
它是一種數據結構,存儲著進程的描述信息,例如pid,uid,狀態,信號項,打開文件表等。是進程管理和調度的重要依據。
2)用戶棧和核心棧
顧名思義,用戶棧是進程運行在用戶態使用的棧,含有用戶態執行時候函數調用的參數,局部變數等;核心棧是該進程運行在核心態下用的棧,保存調用系統函數所用的參數和調用序列。這兩個棧的指針都保存在tast_struct結構中。
3)寄存器
保存程序計數器,狀態字,通用寄存器,棧指針。
4)頁表
線性地址到物理地址的映射
5)正文段,數據段。
二、linux進程的狀態
linux中進程共有5個狀態:就緒,可中斷睡眠,不可中斷睡眠,暫停,僵死。也就是說,linux不區分就緒和運行,它們統一叫做就緒態。進程所處的狀態記錄在tast_struct中。
三、進程的控制
1)進程樹的形成
計算機啟動後,bios從磁碟引導扇區載入系統引導程序,它將linux系統裝入內存,並跳到內核處執行,linux內核就執行初始化工作:初始化硬體、初始化內部數據結構、建立進程0。進程0創建進程1,進程1是以後所有創建的進程的祖先,它負責初始化所有的用戶進程。進程1創建shell進程,shell進程顯示提示符,等待命令的輸入。
2)進程的創建
任何一個用戶進程的創建都是由現有的一個進程完成的,進程的創建要經過fork和exec兩個過程。fork是為新進程分配相應的數據結構,並將父進程的相應上下文信息復制過來。exec是將可執行文件的正文和數據轉入內存覆蓋它原來的(從父進程復制過來的),並開始執行正文段。
3)進程的終止
系統調用exit()就可自我終結,exit釋放除了tast_struct以外的所有上下文,父進程收到子進程終結的消息後,釋放子進程的tast_struct。
4)進程的調度
進程的調度是由schele()完成的,一種情況是,當處理機從核心態向用戶態轉換之前,它會檢查調度標志是否為1,如果是1,則運行schele(),執行進程的調度。另一種情況是進程自動放棄處理機,時候進行進程調度。
進程的調度過程分為兩步,首先利用相關策略選擇要執行的進程,然後進行上下文的切換。
四、進程的通信
進程的通信策略主要有,消息,管道,消息隊列,共享存儲區和信號量。
1)信息
消息機制主要是用來傳遞進程間的軟中斷信號,通知對方發生了非同步事件。發送進程將信號(約定好的符號)發送到目標進程的tast_struct中的信號項,接收進程看到有消息後就調用相應的處理程序,注意,處理程序必須到進程執行時候才能執行,不能立即響應。
2)管道
我理解就是兩個進程使用告訴緩沖區中的一個隊列(每兩個進程一個),發送進程將數據發送到管道入口,接收進程從管道出口讀數據。
3) 消息隊列
消息隊列是操作系統維護的一個個消息鏈表,發送進程根據消息標識符將消息添加到制定隊列中,接收進程從中讀取消息。
4)共享存儲區
在內存中開辟一個區域,是個進程共享的,也就是說進程可以把它附加到自己的地址空間中,對此區域中的數據進行操作。
5)信號量
控制進程的同步。
⑥ linux 系統中「|」管道的作用是什麼
「|」是管道命令操作符,簡稱管道符。利用linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。
它僅能處理經由前面一個指令傳出的正確輸出信息,也就是 standard output 的信息,對於 standard error 信息沒有直接處理能力。
用法示例:
ls -l | more
該命令列出當前目錄中的文檔,並把輸出送給more命令作為輸入,more命令分頁顯示文件列表。
⑦ 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管道線的用法
簡單說來就是,管道線前面的命令結果作為後面命令的參數
比如find -user gxh表示查找屬於用戶gxh的文件,單獨運行這條命令後會列出很多;這些列出的條目作為wc -l的參數,表示列出文件行數