①什麼是輸入輸出的重定向
我們從鍵盤上輸入,在屏幕中輸出,這是默認的輸入輸出方式,所謂輸入輸出的重定向就是改變輸入輸出的方式,用文件來輸入,以及輸出到文件中。
②爲什麼要輸入輸出的重定向
比如寫日誌文件,肯定不能在屏幕上輸出,我們必須把他保存在文件中,還有,如果有一個表的數據需要輸入,一條一條的在鍵盤上敲很麻煩,所以必須使用重定向。
③怎麼使用輸入輸出的重定向
一般使用以下格式
命令<文件名 或者 命令>文件名
括號的尖端指向那一邊就表示輸出到哪裏,指向文件名當然是將命令的結果輸出到文件中。指向命令當然是使用這種命令來讀取文件了。
④例子
首先,創建一個文件並編輯它vim test,
(如果有這個文件會就編輯它,沒有就會直接創建並編輯,如果退出時沒保存,文件就不會創建。)
然後隨便輸入幾條指令,比如echo `data`顯示當前時間。保存退出。
接下來使用輸入的重定向,把這個文件交給bash來執行。bash<test。
得到結果,結果是當前時間。
輸出的例子僅用簡單的2條語句就可以驗證,pwd > test,pwd命令獲取當前路徑
使用cat test可以得到當前路徑的結果
⑤附加輸出重定向和內置輸入重定向
附加輸出重定向 >>
表示在文件末尾添加數據,前面的是指將文件內容清空了再寫入文件
內置輸入重定向
<< 這裏還是不太明白。
使用格式
命令 參數 <<標記符 mail $name<<%%
。。。內容 Hello
標記符 %%
這樣就把%%裏面的內容賦值給name了
⑥管道
輸入輸出重定向可以結合起來使用,比如
wc < test1> test2
使用wc命令統計test1的結果,然後把結果保存在test2文件中
這樣做太過麻煩。使用管道可以達到同樣的結果。額,這個好像不可以。
command1|command2
這個就是管道的用法。
ls | sort
這個就體現了管道的用法,列舉當前目錄的文件以及文件夾,並排序。如果文件較多還可以
ls | sort | more
而且這些命令是同時執行的。還可以
ls | sort > test