當前位置:首頁 » 操作系統 » linux管道

linux管道

發布時間: 2022-01-08 03:48:32

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的參數,表示列出文件行數

熱點內容
手掛機腳本游 發布:2024-12-22 19:38:00 瀏覽:428
層次原理圖如何編譯 發布:2024-12-22 19:27:17 瀏覽:370
android計算緩存大小 發布:2024-12-22 19:16:54 瀏覽:659
php訪問模塊 發布:2024-12-22 19:05:24 瀏覽:271
電梯IC加密 發布:2024-12-22 19:04:47 瀏覽:375
腳本圈是引流加粉嗎 發布:2024-12-22 18:41:26 瀏覽:391
ajax文件上傳表單提交 發布:2024-12-22 17:55:00 瀏覽:856
win7無法共享的文件夾 發布:2024-12-22 17:53:39 瀏覽:41
華為手機密碼怎麼解鎖 發布:2024-12-22 17:53:38 瀏覽:554
android設置圓角textview 發布:2024-12-22 17:53:37 瀏覽:739