精确 Bash 等效于 CMD dir /b

Exact Bash equivalent for CMD dir /b

在 Windows 命令提示符中,dir /b > List.txt 将目录内容的换行符分隔列表打印到文本文件中:

Folder 1
Folder 2
Folder 3
File 1.txt
File 2.txt
File 3.txt

在 Cygwin 上的 bash 中,执​​行 ls > File.txt 会产生以下结果:

Folder 1Folder 2Folder 3File 1.txtFile 1.txtFile 2.txt

Bash 似乎没有默认在自己的行上打印条目,ls -hls -1 似乎对此没有任何区别。此外,看到 -a 选项让我担心显示的结果是什么 - 我是否需要调用 -a 来查看通常使用 dir /b 在 [=] 中显示的所有结果21=],或者只是为了看到那些我在 CMD?

中看不到的东西

如何在 Bash 中执行与 dir \b 完全相同的操作?

ls的输出没有进入终端时,它每行显示一个文件,所以

ls > List.txt

应该是正确的。

-a 包括 "hidden" 个文件,即名称以点开头的文件。我不确定 dir /b 是否列出了隐藏文件。

ls -1 应该每行列出一个文件。如果没有,请 post 你的 OS 的类型和版本,以及 ls --version 的输出?

ls 的输出重定向到 File.txt 将导致每行一个文件。因此,您的命令是正确的。您可以使用 cat File.txt.

在 bash 上验证这一点

您可能正在记事本上查看输出文件。请在notepad++上查看,你会看到它是正确的。