command1 && command2 [&& command3 ...]
只有在&&左邊的命令返回真時,&&右邊的命令才會被執行下去
只要有乙個命令返回假,後面的命令就不會被執行
想:所有&&連線的條件,只要發現有乙個假的話,就不必要執行下去了,因為最終結果肯定是假。
注:命令返回值 $? == 1表示假,命令返回值 $? == 0 表示真
command1 || command2 [|| command3 ...]
只有左||左邊返回假的時候,||右邊的命令才會執行
只要有乙個命令返回真,後面的命令就不會被執行
想:所有||連線的條件就是乙個或功能,有乙個真那就是真
&放在啟動引數後面表示設定此程序為後台程序,與&&完全不一樣的意義
command1 &
預設情況下,程序是前台程序,這時就把shell給佔據了,
我們無法進行其他操作,對於那些沒有互動的程序,很多時候,我們希望將其在後台啟動,可以在啟動引數的時候加乙個'&'實現這個目的
人稱管道符
上一條命令的輸出,作為下一條命令引數
command1 | command2
# cat /etc/passwd | grep /bin/bash | wc -l
第乙個管道將cat命令(顯示passwd檔案的內容)的輸出送給grep命令,
grep命令找出含有「/bin /bash」的所有行;
第二個管道將grep的輸出送給wc命令,
wc命令統計出輸入中的行數。這個命令的功能在於找出系統中有多少個使用者使用bash
command1 ; command2
;將命令分隔,每個命令都會從左到右順序執行。彼此之間沒有關係,所有命令都會執行到
> 和 < 分別代表重定向的方向,是從左到右還是從右到左
>> 和 << 代表追加,也就是不改變重定向目標檔案原有的內容,追加在後面
/dev/null 表示空裝置檔案;
0 表示stdin標準輸入;
1 表示stdout標準輸出;
2 表示stderr標準錯誤。
&> 比 >多了乙個字元 ,當我們想用》重定向到乙個檔案時,如果左邊的是標準輸出,那就能成功。
但如果左邊是乙個報錯,那我們就會在螢幕上看到報錯資訊,而檔案中並沒有東西輸出。
但如果前面加上&,就會將報錯轉化為標準輸出重定向到檔案中而不會在螢幕輸出
cd -
返回切換前的目錄
shell指令碼學習01
工作需要,發現對shell指令碼的掌握水平較低,不全面不系統,很多的細節不清楚,編寫的指令碼的效率以及質量較低。思來想去 shell指令碼算是基礎,也是輔助性的工具。越是基礎越有必要好生掌握。想想很對以前沒有學習好的東西,又得重新來學習。印證了那句老話 出來混,遲早要換的,工作學習上也如此了。進入正...
Linux學習 Shell程式設計01
正規表示式 1.正規表示式基礎 正則是包含匹配,用來匹配在檔案中字串的。grep awk sed等命令可以支援正規表示式。萬用字元是完全匹配,用來在系統中匹配檔名。ls find cp這些命令 這個區分僅限於shell中 2.基礎正規表示式 字元擷取命令 cut欄位提取命令 列擷取 cut 選項 檔...
Shell命令學習
i 1001 for x in xml do mv x xml i done 注意i左右不可以有空格for x in do mv x x 1 done 在名字末尾加上數字1 2.將檔案名字提取並儲存 ls xml test.txt3.批量刪除檔案字尾名 rename s jpg 更多rename操作...