新聞中心
Linux Shell是一種非常強(qiáng)大的命令行操作系統(tǒng)。其中,管道和后臺(tái)操作是兩種非常常見(jiàn)的操作。管道可以連接多個(gè)命令,將前一個(gè)命令的輸出傳給下一個(gè)命令的輸入,從而實(shí)現(xiàn)多個(gè)命令的復(fù)合操作。后臺(tái)操作可以讓程序在后臺(tái)運(yùn)行,而不會(huì)阻塞Shell的輸入輸出,從而提高了系統(tǒng)的效率。本文將介紹Linux Shell管道和后臺(tái)操作的常見(jiàn)用法和技巧。

在包頭等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷(xiāo),成都外貿(mào)網(wǎng)站建設(shè)公司,包頭網(wǎng)站建設(shè)費(fèi)用合理。
一、Linux Shell 管道的使用
1. 管道操作符
Linux Shell中的管道操作符是“|”(豎線),表示將前一個(gè)命令的輸出傳遞給下一個(gè)命令的輸入。例如,下面這個(gè)命令將ls命令和grep命令拼接起來(lái),表示查找當(dāng)前目錄下所有文件名包含“test”的文件:
“`
$ ls | grep test
“`
2. 管道操作符的嵌套
多個(gè)管道操作符可以嵌套使用,形成復(fù)雜的命令鏈。例如,下面這個(gè)命令將ps命令的輸出傳遞給awk命令進(jìn)行格式化,然后再將結(jié)果傳遞給grep命令進(jìn)行過(guò)濾:
“`
$ ps aux | awk ‘{print $2,$4}’ | grep ‘ 1\.[0-9]’
“`
在這個(gè)命令中,“|”操作符起到了串聯(lián)命令的作用,將三個(gè)命令串聯(lián)成了一個(gè)整體。ps aux命令用于查看系統(tǒng)進(jìn)程信息,將進(jìn)程的pid和cpu使用率輸出。接著,awk命令對(duì)輸出進(jìn)行格式化,只輸出pid和cpu使用率兩個(gè)字段。grep命令用于過(guò)濾cpu使用率大于1.0的進(jìn)程信息。
3. 管道和重定向操作符的結(jié)合
Linux Shell中的重定向操作符可以將命令的輸入和輸出重定向到文件或者其它設(shè)備上。與管道操作符結(jié)合使用,可以將命令的輸出重定向到文件中。例如,下面這個(gè)命令將當(dāng)前目錄下的所有文件名輸出到文件“filelist.txt”中:
“`
$ ls > filelist.txt
“`
在這個(gè)命令中,“>”操作符將命令的輸出重定向到指定的文件中。
二、Linux Shell 后臺(tái)操作的使用
1. 后臺(tái)操作符
在Linux Shell中,使用“&”操作符即可將命令轉(zhuǎn)移到后臺(tái)運(yùn)行。例如,在執(zhí)行下面的命令時(shí),Shell提示符將立即返回,而命令將在后臺(tái)繼續(xù)執(zhí)行:
“`
$ command &
“`
注意,通過(guò)后臺(tái)運(yùn)行的命令不會(huì)輸出到終端,如果需要查看命令的輸出,可以使用重定向操作符將其輸出到文件中。
2. 后臺(tái)運(yùn)行進(jìn)程的管理
在Linux Shell中,可以使用“jobs”命令列出當(dāng)前運(yùn)行在后臺(tái)的進(jìn)程。例如,下面這個(gè)命令將當(dāng)前運(yùn)行在后臺(tái)的進(jìn)程列出來(lái):
“`
$ jobs
“`
在輸出中,每行表示一個(gè)后臺(tái)進(jìn)程,包括進(jìn)程號(hào)、運(yùn)行狀態(tài)以及命令。例如,下面是jobs命令的輸出結(jié)果:
“`
[1]+ Running sleep 100 &
“`
在這個(gè)示例中,“[1]+”是進(jìn)程的編號(hào),表示這是之一個(gè)后臺(tái)進(jìn)程。sleep命令用于暫停系統(tǒng)執(zhí)行時(shí)間,這里用于等待100秒鐘。
3. 后臺(tái)進(jìn)程的暫停和恢復(fù)
在Linux Shell中,可以使用“ctrl+z”操作符將正在運(yùn)行的前臺(tái)進(jìn)程暫停,并返回Shell提示符。例如,在執(zhí)行下面的命令時(shí),Shell提示符將立即返回,而命令將暫停執(zhí)行:
“`
$ sleep 100
ctrl+z
[1]+ Stopped sleep 100
“`
在這個(gè)示例中,首先執(zhí)行了“sleep 100”命令,然后使用ctrl+z暫停了這個(gè)命令,最后Shell提示符出現(xiàn)了。
在暫停后臺(tái)進(jìn)程后,可以使用“fg”命令將進(jìn)程恢復(fù)到前臺(tái)運(yùn)行,或者使用“bg”命令將進(jìn)程轉(zhuǎn)移為后臺(tái)運(yùn)行:
– fg:將后臺(tái)進(jìn)程恢復(fù)到前臺(tái)運(yùn)行。例如,下面這個(gè)命令將編號(hào)為1的進(jìn)程恢復(fù)到前臺(tái)運(yùn)行:
“`
$ fg %1
“`
– bg:將暫停的前臺(tái)進(jìn)程轉(zhuǎn)移到后臺(tái)運(yùn)行。例如,下面這個(gè)命令將編號(hào)為1的進(jìn)程轉(zhuǎn)移到后臺(tái)運(yùn)行:
“`
$ bg %1
“`
在Linux Shell中,通過(guò)管道和后臺(tái)操作,我們可以輕松地完成各種復(fù)合命令和后臺(tái)任務(wù)的操作。掌握這些技巧,可以幫助我們更好地使用Linux系統(tǒng)。
相關(guān)問(wèn)題拓展閱讀:
- linux shell 腳本運(yùn)行完畢后不能自動(dòng)停止
linux shell 腳本運(yùn)行完畢后不能自動(dòng)停止
我覺(jué)得你是這個(gè)地方出問(wèn)題:
dcm2nii -g y -o ${ana_dir}/${subject} ${ana_dir}/dicom/${subject} &
這個(gè)&號(hào),是讓程序在后臺(tái)運(yùn)行,不會(huì)自己停止的。
你可雹豎以去掉這個(gè)&試源櫻大試你的頌枝程序
最簡(jiǎn)單方法:
其實(shí),你按一下回車(chē)就可以知道是否”結(jié)束”薯塌了吧?
更好的辦法:
你在done后桐手姿面加局絕多兩行:
代碼開(kāi)始
wait
echo “All is ok”
exit 0
代碼結(jié)束
參考資料:
wait 命令
你的程序是有問(wèn)題的,你發(fā)私信給我嘛 , 我?guī)湍闾幚硪幌?/p>
關(guān)于linux shell 管道 后臺(tái)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文名稱:LinuxShell管道和后臺(tái)的巧妙運(yùn)用(linuxshell管道后臺(tái))
瀏覽路徑:http://www.5511xx.com/article/djeecoo.html
其他資訊
- 美國(guó)服務(wù)器租用前要注意哪些問(wèn)題
- Redis調(diào)試超時(shí)攻克挑戰(zhàn),縮短時(shí)間(redis調(diào)試時(shí)間太久)
- 如何使用count函數(shù)篩選數(shù)據(jù)庫(kù)中的重復(fù)數(shù)據(jù) (count函數(shù)篩選重復(fù)數(shù)據(jù)庫(kù))
- 經(jīng)驗(yàn)基于Redis的實(shí)戰(zhàn)項(xiàng)目實(shí)踐(redis的項(xiàng)目實(shí)戰(zhàn))
- 25條優(yōu)秀的軟件模型設(shè)計(jì)者必需知道的原則


咨詢
建站咨詢
