通配符及輸入輸出重定向

通配符及輸入輸出重定向

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 爲查看文本文檔行數的命令,< 輸入重定向的左邊一定是一條命令,右邊是文件。上圖第二條命令裏面,嘗試左邊爲文件的時候,出現報錯。
輸入重定向做個瞭解即可,一般工作中用不到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章