ls 命令默认每个文件显示一行?如何更改?

ls 命令默认每个文件显示一行?如何更改?

截图

当我调用 ls 命令时,我希望它显示当前目录中的所有文件/目录,并尝试在每行中容纳尽可能多的文件/目录。但是,不知何故,它每行显示一个文件。如何更改此行为?

答案1

目录中可能存在一个名称很长的文件,主要由空格组成。这将强制将文件列表合并为一列。要测试是否存在这样的文件名,请执行以下操作:

find . -name *\ \ \ *

这将找到具有三个或更多连续空格的文件名。

答案2

您确定没有将小写字母 L 与 1 混淆吗?

ls -lsong) 显示每行 1 个文件的长列表,但行数与终端显示的行数一样多。

如果“ls”是唯一执行此操作的命令,您可能在某处使用了“1”(数字一)选项。[man ls][1]

-1 每行输出打印一个条目。


您的命令可能使用“1”作为别名。检查它是否与...

alias ls 

并消除这种使用

unalias ls

然后再次检查。如果是,请找到别名(可能是.bashrc)并修复它。

答案3

使用命令

ls | tr "\n" " " 

这将删除新行,从而在同一行列出所有文件。

您可以为此命令创建别名,并将其添加到您的 .bashrc 中,以便您可以使用该别名。

gedit .bashrc

添加以下行:

alias lll=' ls | tr "\n" " " '

保存并关闭,然后 source 你的 .bashrc

source .bashrc

现在您可以通过运行lll别名命令来使用该别名。

相关内容