1、通配符 *
“ ”表示通配,見下圖,
當前目錄下有5個 txt 文件。也有其他寫法,結果也是不一樣,見下圖,
以上就是 ,和 * 有對比的字符是 ? 。見下圖,
?表示一個任意的字符,數字和英文字母都可以。接着做對比,見下圖,
還有一種用法是使用中括號,見下圖,
還有花括號的用法,見下圖,
與中括號不同的是,花括號裏面的字符需要用“,”號隔開。
2、輸入輸出重定向
“>” 表示輸入輸出重定向,舉個例子,見下圖,
查看 1.txt 和 2.txt 文件,裏面沒有內容,使用 vi 命令在裏面寫上一串數字。從上圖中可以看出, cat 1.txt > 2.txt 這個命令表示將 1.txt 的內容重定向到 2.txt ,就是將 2.txt 的內容刪除掉,將 1.txt 的內容重寫到 2.txt 。
“>>” 表示追加內容,舉個例子,見下圖,
爲了將 1.txt 和 2.txt 文件區別開,編輯更改一下 2.txt 裏面的內容,然後輸入命令 cat 1.txt >> 2.txt ,可以看到,1.txt 裏的內容追加到 2.txt 上了。
2> 會把這個命令產生的錯誤信息,指定輸入到一個文件裏,表示錯誤的輸出。舉個例子,見下圖,
運行一個有問題的命令 lsaaa ,提示未找到命令。這時候可以把這個錯誤信息定向到文件 a.txt 裏去。然後用命令 cat a.txt 查看,裏面的文件內容就是剛纔的錯誤信息“-bash: lsaaa: 未找到命令”。上圖中的 2>> 表示追加重定向。
總結一下:
“>” 表示輸出,輸出到指定的文件
“>>” 表示追加重定向
“2>” 表示錯誤的重定向
“2>>” 表示錯誤的追加重定向
那麼,我們也可以把 > 和 2> 結合起來,寫成 &> ,表示正確和錯誤的輸出信息全部定向到一個文件裏去。舉個例子,見下圖,
同樣也支持追加,表示爲 &>> ,見下圖,
還有一種方法,把正確和錯誤的輸出區分開,見下圖,
表示正確的輸出到 1.txt 文件,錯誤的輸出到 a.txt 文件。這個以後寫 shell 腳本的時候,用的比較多。
“<” 表示爲輸入重定向。舉個例子,見下圖,
wc -l 爲查看文本文檔行數的命令,< 輸入重定向的左邊一定是一條命令,右邊是文件。上圖第二條命令裏面,嘗試左邊爲文件的時候,出現報錯。
輸入重定向做個瞭解即可,一般工作中用不到。