如何在终端中打印目录树


130

可用于在终端仿真器内部绘制目录树的命令是什么?

在此处输入图片说明

Answers:


174

您可以用来tree在终端中打印目录树。tree从终端安装,

sudo apt-get install tree

要查看目录树,请使用

tree /path/to/folder

或导航到目录并仅使用

tree

它也有一些高级选项。你可以看到业主usernamegroupname使用,文件/文件夹等的最后修改日期tree。它支持的目录颜色,ls因此您可以看到彩色输出。

查看man tree更多。


6
如果只希望树状目录,请使用-dswitch。
souravc 2014年

干净便捷的工具
zhihong

3
或者在OSX上使用brew。“酿造树”
AshHimself15年

我正在搜索如何在Win7 + cmder上进行操作:tree效果很好。

@AshHimself是的,击败了我。;)
jamescampbell

46

您可以使用以下命令轻松完成此操作:

find . -type d | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"

该命令将递归搜索父目录中的目录,然后绘制已建立目录的树。

您也可以尝试以下操作以包括所有文件。

find | sed 's|[^/]*/|- |g'

7
请拆分并为我解释以上命令。
Avinash Raj

3
@AvinashRaj Buddy如果您想了解有关sed的更多信息,则命令的整体内容很清楚,请参考一些教程或用google搜索。真的很难在这里解释所有sed!
Maythux 2014年

2
Maythux是正确的,如果您了解sed,那么您的脚本就很清楚了,但是不要误以为sed / regexes就是您多年来学到的一种神秘语言。这几乎不直观-我认为这是Avinash Raj评论的精神。
aaaaaa

我需要更改什么以忽略隐藏目录?
卡丹斯,

1
如何离开特定目录?
Deepak Dholiyan

14

有一个名为的程序tree,它以树形结构列出目录内容。

我认为它在存储库中(甚至已安装)

sudo apt install tree

tree -d /path/to/directory

检查链接了解更多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.