如果这个命令是在我当前包含文件的工作目录中执行的,它会做什么?
ls 2> 结果
我认为 ls 写入的任何内容都会被重定向到结果文件?
这是正确的吗?它会重定向 stderr 和 stdout 的所有内容吗?或者只有标准错误?
答案1
ls
命令列出给定目录。仅ls
列出当前目录的内容。>
和2>
是 IO 重定向工具。>
用于重定向stdout
- 标准输出。2>
是stderr
- 标准错误。所以:
user@linux:~$ ls 2> result
将 ls 命令的错误重定向到名为result
.要重定向两者(错误和输出),您需要使用:
user@linux:~$ ls >>result 2>&1
它将重定向并将 和 附加stdout
到stderr
该文件。
祝你好运!