dir e:\ >c:\file.txt 2>&1 这里为什么标准错误流是2
时间: 2023-08-10 11:12:46 浏览: 48
在 Windows 中,标准输出流的文件描述符是 1,标准错误流的文件描述符是 2。在该命令中,“dir e:\”是一个命令,它将在标准输出流中输出结果。如果出现错误,例如无法访问目录,错误消息将发送到标准错误流。因此,使用“2>&1”将标准错误流重定向到标准输出流,以便将错误消息一起写入文件。所以这里标准错误流是2。
相关问题
dir>c:\file.txt 2>&1 为什么dir>c:\file.txt不用加&,2>&1要加&
在命令行中,`>`符号用于将命令的输出重定向到指定的文件中。例如,在命令行中运行`dir>c:\file.txt`,会将`dir`命令的输出重定向到`c:\file.txt`文件中。
当我们想要将错误消息也重定向到同一个文件中时,我们需要使用`2>`符号。例如,`dir 2>c:\file.txt`会将`dir`命令的错误消息重定向到`c:\file.txt`文件中。
但是,如果我们想要同时将输出和错误消息都重定向到同一个文件中,我们需要使用`&`符号将两个命令连接起来。例如,`dir>c:\file.txt 2>&1`就会将`dir`命令的输出和错误消息都重定向到`c:\file.txt`文件中。
需要注意的是,`&`符号用于将两个命令连接起来,所以在`dir>c:\file.txt`命令中不需要使用`&`符号。而`2>&1`命令只是将标准错误输出重定向到标准输出,它本身并不是一个完整的命令,所以需要使用`&`符号将其与前面的命令连接起来。
dir>c:\file.txt 2>&1为什么不能写成dir>c:\file.txt &2>1
这是因为在命令行中使用 & 符号表示同时执行两个命令,而不是将标准错误输出重定向到标准输出。因此,如果你使用 &2>1,它会将标准错误输出重定向到一个名为“1”的文件中,而不是将标准错误输出重定向到标准输出。正确的写法应该是 dir>c:\file.txt 2>&1。这个命令会将标准输出和标准错误输出都重定向到 c:\file.txt 文件中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)