所有文件夹和子文件夹的列表

时间:2013-02-12 07:40:03

标签: linux ls

在Linux中,我想查找所有文件夹/子文件夹名称并重定向到文本文件

我试过ls -alR> list.txt,但它提供了所有文件+文件夹

3 个答案:

答案 0 :(得分:33)

您可以使用find

find . -type d > output.txt

tree

tree -d > output.txt

tree,如果您的系统未安装。

如果您使用ubuntu

sudo apt-get install tree

如果您使用的是mac os

brew install tree

答案 1 :(得分:6)

find . -type d > list.txt

将列出当前路径下的所有目录和子目录。如果要列出当前路径以外的所有目录,请将.更改为其他路径。

如果要排除某些目录,可以使用否定条件对其进行过滤:

find . -type d ! -name "~snapshot" > list.txt

答案 2 :(得分:2)

除了在其他答案中列出的find之外,更好的shell允许recurvsive globs和过滤glob匹配,所以在zsh例如......

ls -lad **/*(/)

...列出所有目录,同时保留所需的所有“-l”详细信息,否则需要使用类似的东西重新创建...

find . -type d -exec ls -ld {} \;

(不像其他答案那么简单)

find的好处是它更独立于shell - 更加可移植,即使对于来自C / C ++程序的system()调用等也是如此。