Linux bash 命令首先列出隐藏文件,然后按扩展名排序其他文件

Linux bash 命令首先列出隐藏文件,然后按扩展名排序其他文件

这一页:我怎样才能让“ls”首先显示点文件?让我先列出隐藏文件,但我还希望按“扩展名”对非隐藏文件进行排序,例如所有以“.png”结尾的文件名都排在以“.jpg”结尾的文件名之后。

ls -X 可以做到这一点,但隐藏文件不再首先列出(我猜是因为它们的名称以“。”开头,所以它们的整个名称被视为它们的扩展名)。

有没有办法先列出隐藏文件,然后按扩展名排序非隐藏文件?我希望它完全包含在 ls 命令中,以便我可以在需要时添加更多标志。

谢谢!

答案1

您可以使用两个命令:第一个命令输出带点的文件,第二个命令按正确的顺序列出其余文件:

ls -1 -d .* ; ls -X -1

您可能需要使用'ls'引号来防止别名改变行为。

相关内容