>> 追加
> 覆蓋
>& 把前面的儲存位置設定成後面的儲存位置
P.S.:當然還有反的<< < <&意思就是方向不一樣啦、往後追加變成往前追加、這就不重複寫了
0 標準輸入
1 標準輸出
2 標準錯誤
例子:
ls /usr/tmp 2> err.file
把命令所產生的錯誤寫入到err.file檔案中、如果不存在則建立、如果存在則覆蓋
ls /usr/tmp &> output.file
把錯誤和輸出資訊都寫入到err.file檔案中、如果不存在則建立、如果存在則覆蓋
command 2>&1
把標準錯誤資訊輸出到標準輸出的同一位置上、commadn代表任何命令、這段話其實是廢話、加上去和直接運行command無區別、因為標準輸出的位置就是輸出在螢幕上、標準錯誤資訊把位置輸出標準輸出的位置上、也就是螢幕上、等於沒做過任何改變、因為標準錯誤和標準輸出資訊本來就是一樣輸出在螢幕上、不然莪們還怎麼操作linux啊、囧
command >output_file 2>&1
這個命令就開始有點意思了、command同樣代表任何命令、邇可以是ls顯示目錄、也可以是lsdflsl這樣的錯誤命令、當然、邇輸入正確的命令得到的將會是標準輸出資訊、輸入錯誤的命令得到的就是標準錯誤的資訊、好吧、這個命令的前半部分意思就是把命令的結果輸入到output_file這個檔案中、如果沒有就建立、存在就覆蓋、當然這個命令的結果可能是正確的命令也可能是錯誤的、但有一點是不變的、就是如果是標準輸出資訊就一定會把資訊放進output_file檔案中、所以當邇輸入ls這樣的正確命令當然是把標準輸出的命令寫進去output_file啦、如果邇輸入的是lsdfsf這樣錯誤的命令標準輸出的命令當然是不會在output_file寫上任何資訊啦、但由於有後面的那句、2>&1、意思就是標準錯誤資訊會同樣往標準輸出資訊同樣的位置寫入、所以就算標準輸出沒有任何資訊寫入、發生錯誤時標準錯誤還是會往output_file寫上任何錯誤資訊、所以這條命令和ll &>output.file意思其實是一樣的、