按字母顺序列出目录中所有带颜色编码的文件(目录和文件分开)

按字母顺序列出目录中所有带颜色编码的文件(目录和文件分开)

我正在寻找一个命令来使用命令列出目录中的所有文件ls

要求: - 按字母顺序 - 先按文件夹,然后按文件(均按字母顺序排列) - 没有时间戳或其他信息,只有普通名称

我一直在试验并组装这个命令,但它远远达不到我的需要:

ls -la | rev | cut -d' ' -f 1| rev

我想要这样的输出(文件夹需要有蓝色):

folder_A
folder_B
folder_C

file_A  
file_B 
file_C

答案1

至少在最新版本的 中ls,您可以添加选项--group-directories-first以获取包含目录而非纯文件列表。您的ls命令可能已别名为 use --color=auto,但如果没有,您可以添加它(您可以使用--color=always,但如果您在管道中使用该命令,这可能会导致不良结果)。最后,-1使输出显示在单个列中。因此,完整命令将是

ls -1 --color=auto --group-directories-first

答案2

@Bruni 回答了tree命令,但删除了它?这实际上是一个很好的答案,我深入研究了该人并找到了解决方案:tree -L 1 --dirsfirst

这是输出:

.
├── docs
├── media
├── node_modules
├── src
├── test
├── API.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.rst
├── LICENSE
├── package.json
├── README.md
├── webpack.config.js
└── yarn.lock

5 directories, 8 files

如何删除“5 个目录,8 个文件”这一行而不丢失文件夹的颜色编码?

编辑:@steeldriver,也感谢您的回复:ls -1 --color=auto --group-directories-first

相关内容