当我调用 ls 命令时,我希望它显示当前目录中的所有文件/目录,并尝试在每行中容纳尽可能多的文件/目录。但是,不知何故,它每行显示一个文件。如何更改此行为?
答案1
目录中可能存在一个名称很长的文件,主要由空格组成。这将强制将文件列表合并为一列。要测试是否存在这样的文件名,请执行以下操作:
find . -name *\ \ \ *
这将找到具有三个或更多连续空格的文件名。
答案2
您确定没有将小写字母 L 与 1 混淆吗?
ls -l
(升我s吨升ong) 显示每行 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
别名命令来使用该别名。