Linux 所有文件夹和子文件夹的列表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/14827686/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
List of All Folders and Sub-folders
提问by Sandeep540
In Linux, I want to find out all Folder/Sub-folder name and redirect to text file
在 Linux 中,我想找出所有文件夹/子文件夹名称并重定向到文本文件
I tried ls -alR > list.txt
, but it gives all files+folders
我试过了 ls -alR > list.txt
,但它提供了所有文件+文件夹
采纳答案by Adem ?zta?
You can use find
您可以使用 find
find . -type d > output.txt
or tree
或者 tree
tree -d > output.txt
tree
, If not installed on your system.
tree
, 如果你的系统上没有安装。
If you are using ubuntu
如果您正在使用 ubuntu
sudo apt-get install tree
If you are using mac os
.
如果您正在使用mac os
.
brew install tree
回答by Amber
find . -type d > list.txt
Will list all directories and subdirectories under the current path. If you want to list all of the directories under a path other than the current one, change the .
to that other path.
将列出当前路径下的所有目录和子目录。如果要列出当前路径以外的路径下的所有目录,请将 更改.
为其他路径。
If you want to exclude certain directories, you can filter them out with a negative condition:
如果要排除某些目录,可以使用否定条件将它们过滤掉:
find . -type d ! -name "~snapshot" > list.txt
回答by Tony Delroy
As well as find
listed in other answers, better shells allow both recurvsive globs and filtering of glob matches, so in zsh
for example...
除了find
在其他答案中列出之外,更好的 shell 允许递归全局匹配和全局匹配过滤,zsh
例如......
ls -lad **/*(/)
...lists all directories while keeping all the "-l" details that you want, which you'd otherwise need to recreate using something like...
...列出所有目录,同时保留您想要的所有“-l”详细信息,否则您需要使用类似...
find . -type d -exec ls -ld {} \;
(not quite as easy as the other answers suggest)
(不像其他答案所建议的那么容易)
The benefit of find is that it's more independent of the shell - more portable, even for system()
calls from within a C/C++ program etc..
find 的好处是它更独立于 shell - 更便携,即使对于system()
来自 C/C++ 程序等的调用也是如此。