Linux cli简介;输出重定向

问题描述:

为什么cp a b导致错误,当cp a b> a时a和b文件都不存在时不会导致错误。Linux cli简介;输出重定向

从我的理解cp ab给出的错误,因为这两个文件都不存在,有意义并且cp ab> a似乎创建了两个文件并从b复制空白到a,但是原因a为空是因为操作的输出实际上并不实际产生任何消息。

请让我知道正确的解释是什么。谢谢

当你调用cp a b > a时,shell的第一件事就是创建文件a。然后它创建一个孩子,并在孩子执行cp之前将其输出重定向到该文件。所以在cp开始之前存在a,并且它愉快地复制文件。