如何让 ls 按文件扩展名然后按名称排序?

如何让 ls 按文件扩展名然后按名称排序?

默认情况下,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

相关内容