我不明白 b/wls 2>tmp >tmp
和ls > tmp
. 他们似乎都在做本质上相同的事情,创建一个文件 tmp 并存储ls
命令的结果。
简短的回答:ls 2>tmp >tmp
将stdout
和都重定向stderr
到 file tmp
。而ls > tmp
只重定向stdout
到 file tmp
。
试试这个看看区别:
$ ls asdsadasd 2>tmp >tmp
$ cat tmp
ls: cannot access asdsadasd: No such file or directory
$ ls asdsadasd > tmp
ls: cannot access asdsadasd: No such file or directory
$ cat tmp
<Nothing happen here>
Run Code Online (Sandbox Code Playgroud)