将 ls 命令重定向到文件不会产生相同的结果

Redirecting ls command to file dose not produce the same result

ls dir

屏幕结果:

file_a file_b file_c

但是

ls dir > ls.txt

ls.txt内容:

file_a
file_b
file_c

为什么?

ls dir: 列出工作目录中的文件。 [1]

ls dir > ls.txt: 大多数显示结果的命令行程序都是通过将结果发送到称为标准输出的工具来实现的。默认情况下,标准输出将其内容定向到显示器。要将标准输出重定向到文件,使用“>”字符。在此示例中,执行 ls 命令并将结果写入名为 ls.txt 的文件中。由于 ls 的输出被重定向到文件,因此没有结果出现在显示器上。[2]

ls dir的结果以短格式写入,这就是它出现在一行中的原因。 ls dir > ls.txt 但是将每个 folder/file 名称写在文本文件的单独行中。

如果您想以该格式打印 ls dir 的结果,您可以使用长格式 ls dir -l