• use redirection characters to control output to files.
• use piping to control output to other programs.
files: > 2> file1.txt /dev/pts/2 /dev/tty1 /dev/null /dev/sda programs: |
程序管道
用法:command1 | command2 |command3 |
[root@fanhua ~]
# ll /dev/ |less
[root@fanhua ~]
# ps aux |grep 'sshd'
[root@fanhua ~]
# rpm -qa |grep 'httpd' //查詢所有安裝的軟體包,過濾包含httpd的包
[root@fanhua ~]
# yum list |grep 'httpd'
案例1:將/etc/passwd中的使用者按uid大小排序
[root@fanhua ~]
# cat a.txt
1:h2:h
3:h4:h
5:h6:h
7:h8:h
9:h10:h
[root@fanhua ~]
# sort -t":" -k3 -n a.txt //以: 分隔,將第三列按字數公升序
[root@fanhua ~]
# sort -t":" -k3 -n a.txt -r //-r 逆序
[root@fanhua ~]
# sort -t":" -k3 -n a.txt |head //-t 指定字段分隔符 -k 指定列 -n 按數值
案例2:統計出最佔cpu的5個程序
[root@fanhua ~]
# ps aux --sort=-%cpu |head -6
案例3:統計當前/etc/passwd中使用者使用的shell型別
思路:取出第七列(shell) | 排序(把相同歸類)| 去重
[root@fanhua ~]
# awk -f: '' /etc/passwd
[root@fanhua ~]
# awk -f: '' /etc/passwd |sort //sort分類
[root@fanhua ~]
# awk -f: '' /etc/passwd |sort |uniq //uniq去重
[root@fanhua ~]
# awk -f: '' /etc/passwd |sort |uniq -c //去重並統計類別的數量
40 /bin/bash
1 /bin/sync
1 /sbin/halt
22 /sbin/nologin
1 /sbin/shutdown
-f: 指定字段分隔符
$7 第七列欄位
# ss -an |grep :80 |awk -f":" '' |sort |uniq -c |sort -k1 -rn |head -n 20案例5: 列印當前所有ip
[root@fanhua ~]
# ip addr |grep 'inet ' |awk '' |awk -f"/" '' 127.0.0.1
192.168.2.115
案例6:列印根分割槽已用空間的百分比(僅列印數字)
[root@fanhua ~]
# df -p |grep '/$' |awk '' |awk -f"%" '' 6
[root@fanhua ~]
# df -th|grep '/$' |awk '' |awk -f"%" '' 9
[root@fanhua ~]
# ip addr |grep 'inet ' |tee ip.txt |awk -f"/" '' |awk '' //將前面內容tee輸入重定向到ip.txt檔案裡面去
127.0.0.1
172.16.60.1
[root@fanhua ~]
# cat ip.txt
inet 127.0.0.1/8 scope host lo
inet 172.16.60.1/24 brd 172.16.60.255 scope global eth0
[root@fanhua ~]
# ip addr |grep 'inet ' |tee -a ip.txt |awk -f"/" '' |awk '' -a追加
127.0.0.1
172.16.60.1
[root@fanhua ~]
# date >date.txt
[root@fanhua ~]
# date |tee date.txt
[root@fanhua ~]
# top -d 1 -bn 1 > top.txt
=[root@fanhua ~]
# top -d 1 -bn 1 |tee top.txt
top -d 1 一秒重新整理一次top
top -d 1 -bn 1 一秒重新整理一次top只執行一次
15 匿名管道
1.匿名管道的概念 本質 核心緩衝區 是偽檔案,不占用磁碟空間,磁碟上不存在 特點 1 由讀端和寫端兩部分組成,對應兩個檔案描述符 2 資料寫端流入,讀端流出 3 操作管道的程序被銷毀之後,管道自動被釋放 核心自動操作 不需要手動釋放 4 管道預設是阻塞的,讀和寫均預設阻塞。2.匿名管道的原理 1 ...
程序通訊 程序管道
程序間通訊的幾種常用方式 管道 命名管道 訊號 訊號量 共享記憶體 訊息佇列 套接字。管道 pipe 一種半雙工的通訊方式,資料只能單向流動且只能在具有共同祖先的程序間使用。命名管道 name pipe 也是一種半雙工的通訊方式,但他允許不相關程序間的通訊。訊號 sinal 乙個程序通過訊號通知其他...
程序通訊1 管道 命名管道
匿名管道 管道是一種簡單的程序通訊 ipc 機制。管道實質上就是pipe函式在核心中開闢了一段緩衝區,有乙個讀端和乙個寫端。兩個程序之間能夠通訊的本質 通過fork函式傳遞檔案描述符 子程序是父程序的副本,父程序所有開啟的檔案描述符都被複製到子程序中,父子程序的每個相同的開啟描述符共享乙個檔案表項 ...