2017-09-09 182 views
-1

爲什麼cp a b導致錯誤,當cp a b> a時a和b文件都不存在時不會導致錯誤。Linux cli簡介;輸出重定向

從我的理解cp ab給出的錯誤,因爲這兩個文件都不存在,有意義並且cp ab> a似乎創建了兩個文件並從b複製空白到a,但是原因a爲空是因爲操作的輸出實際上並不實際產生任何消息。

請讓我知道正確的解釋是什麼。謝謝

回答

2

當你調用cp a b > a時,shell的第一件事就是創建文件a。然後它創建一個孩子,並在孩子執行cp之前將其輸出重定向到該文件。所以在cp開始之前存在a,並且它愉快地複製文件。