七固该、管道、重定向和參數(shù)傳遞

一伐坏、重定向

標準輸入、標準正確輸出纯露、標準錯誤輸出

1.png

進程在運行的過程中根據(jù)需要會打開多個文件埠褪,每打開一個文件會有一個數(shù)字標識组橄。這個標識叫文件描述符罚随。
進程使用文件描述符來管理打開的文件(FD----file descriptors).
文件描述符:每打開一個程序都會有文件描述

image-20191107204410281.png
0遵班,標準輸入(鍵盤)
1,標準輸出
2,標準錯誤汇在,
3+,進程在執(zhí)行過程中打開的其他文件雳锋。  
&:表示正確錯誤混合輸出

二、輸出重定向 (覆蓋,追加)

>   ----覆蓋
>>  ----追加
正確輸出: 1> 1>> 等價于 > >>
錯誤輸出: 2> 2>>

2.1. 案例1:輸出重定向(覆蓋)

[root@biudefor ~]# date 1> date.txt  #正確輸出--覆蓋
# 注意:如果 > 前面什么都不加默認為1盈罐,標準正確輸出榜跌。

image-20191107205931650.png

2.2.案例2:輸出重定向(追加)

[root@biudefor ~]# date >> date.txt #正確輸出--追加
image-20191107210044263.png

2.3. 案例3:錯誤輸出重定向

[root@biudefor ~]# ls /home/  /aaaaaaaaa >list.txt
ls: cannot access /aaaaaaaaa: No such file or directory
[root@biudefor ~]# ls /home/  /aaaaaaaaa >list.txt 2>error.txt #重定向到不同的位置
[root@biudefor ~]# cat error.txt 
ls: cannot access /aaaaaaaaa: No such file or directory
image-20191107210720422.png

2.4.正確和錯誤都輸入到相同位置

[root@biudefor ~]# ls /home/  /aaaaaaaaa &>list.txt  #混合輸出到相同文件
image-20191119195147709.png

2.5.重定向到空設(shè)備/dev/null

[root@biudefor ~]# ls /home/  /aaaaaaaaa >list.txt 2>/dev/null #空設(shè)備,將錯誤的輸出丟掉
[root@biudefor ~]# ls /home/  /aaaaaaaaa &>/dev/null #空設(shè)備盅粪,將正確與錯誤的輸出丟掉

2.6.腳本中使用重定向

實戰(zhàn)一(沒有使用重定向)

[root@biudefor ~]# vim ping1.sh
#!/bin/bash
ping -c1 10.18.40.100
if [ $? -eq 0 ];then
  echo "10.18.40.100 is up."
else
  echo "10.18.40.100 is down!" 
fi
[root@biudefor ~]# chmod +x ping1.sh 
[root@biudefor ~]# ./ping1.sh #執(zhí)行文件(執(zhí)行腳本)
PING 10.18.40.100 (10.18.40.100) 56(84) bytes of data.

--- 10.18.40.100 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

10.18.40.100 is down!

實戰(zhàn)二(使用重定向)

[root@biudefor ~]# vim ping1.sh
#!/bin/bash
ping -c1 10.18.40.100 &>/dev/null
if [ $? -eq 0 ];then
  echo "10.18.40.100 is up." >>up.txt
else
  echo "10.18.40.100 is down!" >>down.txt
fi
[root@biudefor ~]# ./ping1.sh

三钓葫、輸入重定向 <

標準輸入:   <   等價 0<
語法:cat >> file5 <<EOF  #可以寫到腳本或者文件里面
EOF:開始和結(jié)束的標記。
成對使用
結(jié)尾的另一個必須定格寫票顾。
echo會將輸入的內(nèi)容送往標準輸出(打哟「 )
echo 內(nèi)容 >> 文件名或腳本里面

實戰(zhàn)案例一:

[root@biudefor ~]# cat >file4 <<EOF
> 111
> 222
> 333
> 444
> EOF
[root@biudefor ~]# cat file4 
111
222
333
444

實戰(zhàn)案例二:

利用重定向建立多行的文件 腳本創(chuàng)建多行文件

[root@biudefor ~]# vim create_file.sh
#!/bin/bash
cat >file200.txt <<EOF
111
222
333
yyy
ccc
EOF
[root@biudefor ~]# chmod +x create_file.sh 
[root@biudefor ~]# ./create_file.sh 
[root@biudefor ~]# cat file200.txt 
111
222
333
yyy
ccc

四、管道 |

語法:command1 | command2 |command3 |...

實戰(zhàn)案例一

[root@biudefor ~]# rpm -qa  |grep 'httpd'  #查詢所有安裝的軟件包奠骄,過濾包含httpd的包
httpd-tools-2.4.6-90.el7.centos.x86_64
httpd-2.4.6-90.el7.centos.x86_64

實戰(zhàn)案例二

將/etc/passwd中的用戶按UID大小排序

[root@biudefor ~]# sort -t":" -k3 -n /etc/passwd  #以: 分隔豆同,將第三列按字數(shù)升序
[root@biudefor ~]# sort -t":" -k3 -n /etc/passwd -r #以: 分隔,將第三列按字數(shù)降序
[root@biudefor ~]# sort -t":" -k3 -n /etc/passwd |head #以: 分隔含鳞,將第三列按字數(shù)升序看前十行
[root@biudefor ~]# sort -t":" -k3 -n /etc/passwd |tail #以: 分隔影锈,將第三列按字數(shù)升序看后十行
參數(shù)詳解:
sort 排序,默認升序
-t 指定分隔符
-k 指定列
-n 按數(shù)值
-r 降序
head 默認輸出前十行
head -15 默認輸出前十五行
tail 默認輸出后十行
tail -20 默認輸出后十五行

五蝉绷、參數(shù)傳遞:xargs

對:ls cp rm 管道不能執(zhí)行精居。所以通過xargs。

 cat a.txt | xargs  -i cp {} /目錄  
 {}:前面?zhèn)鬟^來的內(nèi)容
 -i :為了讓大括號生效
 目錄時  -r
 解釋:前面?zhèn)鬟^來的東西交給大括號
 
 cat file.txt |xargs ls -l          
 前面是目錄或者目錄的路徑潜必。  ls - l  后面可以不加大括號靴姿,直接執(zhí)行。

實戰(zhàn)案例一

[root@biudefor ~]# touch /home/file{1..5}
[root@biudefor ~]# vim files.txt
/home/file1
/home/file2
/home/file3 
/home/file4
/home/file5
[root@biudefor ~]# cat files.txt |ls -l #不加xargs傳參磁滚,看輸出結(jié)果
[root@biudefor ~]# cat files.txt |rm -rvf  #不加xargs傳參佛吓,看輸出結(jié)果
[root@biudefor ~]# cat files.txt |xargs ls -l
-rw-r--rwx. 1 root root 12 Nov  7 21:57 /home/file1
-rw-r--r--. 1 root root  0 Nov  7 21:57 /home/file2
-rw-r--r--. 1 root root  0 Nov  7 21:57 /home/file3
-rw-r--r--. 1 root root  0 Nov  7 21:57 /home/file4
-rw-r--r--. 1 root root  0 Nov  7 21:57 /home/file5
[root@biudefor ~]# cat files.txt |xargs rm -rvf
removed ‘/home/file1’
removed ‘/home/file2’
removed ‘/home/file3’
removed ‘/home/file4’
removed ‘/home/file5’

實戰(zhàn)案例二

[root@biudefor ~]# touch /home/file{1..5}
[root@biudefor ~]# cat files.txt |xargs -I {} ls -l {}
-rw-r--r--. 1 root root 0 Nov  7 22:07 /home/file1
-rw-r--r--. 1 root root 0 Nov  7 22:07 /home/file2
-rw-r--r--. 1 root root 0 Nov  7 22:07 /home/file3
-rw-r--r--. 1 root root 0 Nov  7 22:07 /home/file4
-rw-r--r--. 1 root root 0 Nov  7 22:07 /home/file5
[root@linux-server ~]# cat files.txt |xargs -I {} cp -rvf {} /tmp
‘/home/file1’ -> ‘/tmp/file1’
‘/home/file2’ -> ‘/tmp/file2’
‘/home/file3’ -> ‘/tmp/file3’
‘/home/file4’ -> ‘/tmp/file4’
‘/home/file5’ -> ‘/tmp/file5’
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市垂攘,隨后出現(xiàn)的幾起案子维雇,更是在濱河造成了極大的恐慌,老刑警劉巖晒他,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吱型,死亡現(xiàn)場離奇詭異,居然都是意外死亡陨仅,警方通過查閱死者的電腦和手機津滞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灼伤,“玉大人触徐,你說我怎么就攤上這事『模” “怎么了撞鹉?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我鸟雏,道長享郊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任孝鹊,我火速辦了婚禮拂蝎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惶室。我一直安慰自己,他們只是感情好玄货,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布皇钞。 她就那樣靜靜地躺著,像睡著了一般松捉。 火紅的嫁衣襯著肌膚如雪夹界。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天隘世,我揣著相機與錄音可柿,去河邊找鬼。 笑死丙者,一個胖子當著我的面吹牛复斥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播械媒,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼目锭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纷捞?” 一聲冷哼從身側(cè)響起痢虹,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎主儡,沒想到半個月后奖唯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡糜值,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年丰捷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寂汇。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瓢阴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出健无,到底是詐尸還是另有隱情荣恐,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站叠穆,受9級特大地震影響少漆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硼被,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一示损、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚷硫,春花似錦检访、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至起暮,卻和暖如春卖氨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背负懦。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工筒捺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纸厉。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓系吭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親颗品。 傳聞我的和親對象是個殘疾皇子村斟,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容