如何使用 ls 列出隐藏目录,然后是目录,然后是隐藏文件,最后是文件?

如何使用 ls 列出隐藏目录,然后是目录,然后是隐藏文件,最后是文件?

我试图弄清楚如何按以下组顺序列出目录的内容:

  1. 隐藏目录
  2. 非隐藏目录
  3. 所有其他隐藏文件(包括常规文件、符号链接、套接字)
  4. 所有其他非隐藏文件(包括常规文件、符号链接、套接字)

每个组应该按 AZ 排序,最好不区分大小写。

基于这个答案我尝试了以下方法:

ls -dlU .*/ */

通过列出隐藏目录和非隐藏目录,这让我完成了一半。问题是它没有列出任何文件。

我还尝试了各种通过管道输出的方法,但sort没有成功。

我怎样才能做到这一点?

答案1

最简单的方法:

find . -maxdepth 1 -type d -name '.*'
find . -maxdepth 1 -type d \! -name '.*'
find . -maxdepth 1 -type f -name '.*'
find . -maxdepth 1 -type f \! -name '.*'

相关内容