管道命令pipe學習

2021-07-15 20:46:51 字數 2425 閱讀 1843

管道命令使用的是「|」這個界定符號

其實這個管道命令「|」僅能處理經由前面乙個命令傳來的正確資訊,也就是standard output的資訊,對於standard error並沒有直接處理的能力。

command1 | command2 | command3,前乙個命令的輸出作為後乙個命令的輸入

選取命令:cut,grep

[root@centos01 linux_study]# ls -al /etc |less

[root@centos01 linux_study]# #cut -d '分隔字元' -f fields

[root@centos01 linux_study]# #cut -c 字元範圍

grep命令

grep則是分析一行資訊

grep [-acinv] [–color=auto] 『查詢字串』 filename

引數:

-a: 將binary檔案以text檔案的方式查詢資料

-c: 計算找到『查詢字串』的次數

-i: 忽略大小寫的不同,一視同仁

-n: 輸出行號

-v: 反向選擇

[root@centos01 linux_study]# last | grep 'ddhdzt'

ddhdzt pts/1

172.30.1.51 thu jul 28

17:17 still logged in

ddhdzt pts/2

172.30.1.51 thu jul 28

10:13 still logged in

[root@centos01 linux_study]# last | grep -v 'ddhdzt'

(unknown :0 :0 mon jul 25

10:15 - 10:15 (00:00)

reboot system boot 3.10.0-229.el7.x mon jul 25

10:15 - 17:35 (4+07:20)

(unknown :0 :0 sat jul 23

10:39 - 10:41 (00:01)

[root@centos01 linux_study]# grep --color=auto 'manpath' /etc/man_db.conf

# mandatory_manpath manpath_element

# manpath_map path_element manpath_element

# every automatically generated manpath includes these fields

#mandatory_manpath /usr/src/pvm3/man

mandatory_manpath /usr/man

mandatory_manpath /usr/share/man

mandatory_manpath /usr/local/share/man

# *path* -> *manpath*

manpath_map /bin /usr/share/man

manpath_map /usr/bin /usr/share/man

manpath_map /sbin /usr/share/man

manpath_map /usr/sbin /usr/share/man

manpath_map /usr/local/bin /usr/local/man

manpath_map /usr/local/bin /usr/local/share/man

manpath_map /usr/local/sbin /usr/local/man

manpath_map /usr/local/sbin /usr/local/share/man

manpath_map /usr/x11r6/bin /usr/x11r6/man

manpath_map /usr/bin/x11 /usr/x11r6/man

manpath_map /usr/games /usr/share/man

manpath_map /opt/bin /opt/man

manpath_map /opt/sbin /opt/man

# *manpath* -> *catpath*

管道命令(pipe)

排序命令 root www sort fbmnrtuk file or stdin 選項與引數 f 忽略大小寫的差異,例如 a 與 a 視為編碼相同 b 忽略最前面的空格符部分 m 以月份的名字來排序,例如 jan,dec 等等的排序方法 n 使用 純數字 進行排序 預設是以文字型態來排序的 r 反...

pipe實現管道命令

ps aux grep bash intmain else return0 管道的讀寫行為 使用管道需要注意以下4種特殊情況 假設都是阻塞i o操作,沒有設定o nonblock標誌 1.如果所有指向管道寫端的檔案描述符都關閉了 管道寫端引用計數為0 而仍然有程序從管道的讀端讀資料,那麼管道中剩餘的...

Linux學習筆記 管道PIPE

管道 當從乙個程序連線資料流到另乙個程序時,使用術語管道 pipe include int pipe int filedes 2 建立管道 pipe 說明 返回值 0成功,1出錯。如果呼叫成功,則程序此時由了兩個額外的開啟檔案描述符,filedes 0 中的值是管道的讀取端,而filedes 1 是...