我是 Linux 新手,并试图了解重定向的工作原理。
我一直在测试用于重定向stdout和stderr到同一个文件的各种语法,这些语法并不都产生相同的结果。
例如,如果我尝试列出 2 个不存在的文件 ( file1and file2) 和 2 个不存在的文件( fooand fz):
语法 #1(无重定向):
$ ls file1 foo fz file2
Run Code Online (Sandbox Code Playgroud)
这是我在终端中得到的输出:
ls: cannot access file1: No such file or directory
ls: cannot access file2: No such file or directory
foo fz
Run Code Online (Sandbox Code Playgroud)
语法#2:
现在,通过重定向:
$ ls file1 foo fz file2 > redirect 2>&1
Run Code Online (Sandbox Code Playgroud)
该redirect文件包含与语法 #1 的结果相同:
ls: cannot access file1: No such file or directory
ls: cannot …Run Code Online (Sandbox Code Playgroud)