默认情况下,ls 命令仅按文件名排序,但我希望目录出现在其他文件类型之前。我甚至可能希望文件按扩展名排序,就像 Windows 资源管理器按类型列排序一样。有没有办法用 ls 做类似的事情?
答案1
我认为完整的答案更多的是以上内容的组合。
-X
(稍后--sort=extension
)至少从 FC3 开始在 Linux 上得到支持,并将根据扩展名进行排序。--group-directories-first
是最近添加的(可能是在 FC8 左右?)。但是,将两者结合起来似乎行不通(至少在 FC8 上)。
主要问题似乎在于使用单一主排序键。请参阅此邮件列表讨论以了解一些情况。
答案2
在 Linux 上,
$ ls --group-directories-first
答案3
-X 是您正在寻找的选项:
ls -lX
答案4
如果你在 Linux 上运行,GNUls
支持以下--sort
选项:-
ls --sort=extension