数据流重导向
數(shù)據(jù)流重新導(dǎo)向:
數(shù)據(jù)流重新導(dǎo)向就是把原來通過指令要輸入到屏幕中的數(shù)據(jù)導(dǎo)向到文件或者設(shè)備中,要存儲打印還是扔掉都可以啦,是linux中一個重要的概念哦
standard output 指令回傳正確信息
standard error output 指令回傳錯誤信息
stdout stderr 默認(rèn)都是輸出到屏幕上的,那么能不能重新導(dǎo)向傳送的其他文件中去咧,當(dāng)然可以
傳送送的特殊字符如下:
stdin 1 < << stdout 2 > >> (1個<為取代,2個為累加) stderr 3 2> 2>>范例:
那么查看下rootfile中有什么吧
?再執(zhí)行>發(fā)現(xiàn)是替換了的rootfile,如果你還想保存原來的數(shù)據(jù),那么就用>>來進(jìn)行累加操作
下面來看幾個很實(shí)用的應(yīng)用
1.stdout和stderr分別輸出
2./dev/null 黑洞裝置,傳給他就通通消失了
3.那么如何把正確的錯誤的都輸入到一個文件中區(qū)呢
standard input < << 原來鍵盤輸入的內(nèi)容,用文件內(nèi)容來取代
那么 stdin的<<怎么用呢:
看到了吧,我們可以用<<右側(cè)的控制字符來終止一次輸入
命令執(zhí)行的判斷依據(jù)
很多時候,我們需要一次執(zhí)行很多指令,要怎么操作呢
1.用javascript來執(zhí)行
2.一次輸入多重指令
不考慮指令相關(guān)性連續(xù)下達(dá)指令 cmd;cmd指令回傳值$?與&&或||
指令的相依性 下個指令是否執(zhí)行依賴于上個指令是否執(zhí)行正確(就是靠指令的回傳值$?來判斷) cmd1 && cmd2 若cmd1執(zhí)行完畢且執(zhí)行正確($?=0),cmd2執(zhí)行 若cmd1執(zhí)行完畢且執(zhí)行錯誤($?<>0),cmd2不執(zhí)行 cmd1 || cmd2 若cmd1執(zhí)行完畢且執(zhí)行正確($?=0),cmd2不執(zhí)行 若cmd1執(zhí)行完畢且執(zhí)行錯誤($?<>0),cmd2執(zhí)行那么能否如果文件夾不存在則創(chuàng)建,存在就不創(chuàng)建呢
指令的指令流程如下圖:
那么下面看一個例題吧:
利用ls判斷/tmp/vbirding是否存在,存在則輸出exist,不存在則輸出not exist
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/gengsc/p/6912847.html
總結(jié)
- 上一篇: WebForm(文件上传)
- 下一篇: 实验三_166_张珍珍