輸出重定向
>代表以覆蓋的方式將命令的正確輸出輸出到指定的文件或設備當中。
>>代表以追加方式輸出。
常用的輸出重定向:
- 1.命令 >> 文件 2>&1 :以追加的方式,把正確輸出和錯誤輸出都保存在文件中。
- 2.命令&>文件名:以覆蓋的方式將正確和錯誤輸出都保存在文件中。
- 3.命令&>>文件名:以追加的方式將正確和錯誤輸出都保存在文件中。
-
4.命令>>文件A 2>>文件B:正確的輸出到A文件中,錯誤的輸出到B文件中。
注意:只要涉及到錯誤輸出,>或者>>兩側都不能有空格。
例子:
關於黑洞:可以把一些不需要顯示的命令丟進黑洞(/dev/null)
輸入重定向
-
命令<文件名:把文件作為命令的輸入,例如wc命令時統計行,單詞書和字符的。
例子:
多命令順序執行
-
1.命令1;命令2 :執行完1再執行2,命令之間沒有任何邏輯聯系
-
2.命令1&&命令2:&&是一個“自私”符號,即命令1正確我命令2才執行,你錯誤了我2就不執行。
- 3.命令1||命令2:是一個備胎符號,即1不行了2就上,1行的話我就不執行。
管道符
命令格式:命令A|命令B,即命令1的正確輸出作為命令B的操作對象。
Bash中的其他特殊符號
- 單引號‘’:引號內的所有字符都只是字符而已,沒有特殊含義。
- 雙引號”“: 除了$`和\之外,均無特殊含義。
- “:反引號,反引號內部的內容是系統命令,在Bash中會先執行他,例如aa=$(ls),那么ls執行的結果會賦給aa。
- $(): 和反引號作用一樣,推薦使用。
- #:shell腳本中代表注釋。
- $:用於調用變量的值,相當於C語言的*。
-
:轉義符。
實例: