如何在终端中打印目录树

May*_*hux 170 command-line

终端模拟器里面可以用什么命令来绘制目录树?

在此处输入图片说明

sou*_* c. 231

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

sudo apt-get install tree
Run Code Online (Sandbox Code Playgroud)

要查看目录树,请使用

tree /path/to/folder
Run Code Online (Sandbox Code Playgroud)

或者导航到一个目录并使用

tree
Run Code Online (Sandbox Code Playgroud)

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

查看man tree更多。

  • 如果你只想树目录使用`-d` 开关。 (10认同)
  • 或者如果您在 OSX 上使用 brew。“酿造安装树” (3认同)

May*_*hux 62

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

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

此命令将递归搜索父目录内的目录,然后绘制找到的目录树。

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

find | sed 's|[^/]*/|- |g'
Run Code Online (Sandbox Code Playgroud)

  • 请为我拆分并解释上述命令。 (8认同)
  • @AvinashRaj Buddy 如果您想了解有关 sed 的更多信息,请参阅一些教程或 google 来了解该命令的整体情况。在这里解释所有 sed 真的很难! (4认同)
  • Maythux,你是对的,如果你理解 sed,那么你的脚本就很清楚,但不要误以为 sed/regex 不是你多年来学到的一种神秘的语言。这几乎不直观 - 我认为这是 Avinash Raj 评论的精神。 (2认同)

小智 15

有一个程序调用tree它以树结构列出目录内容。

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

sudo apt install tree

tree -d /path/to/directory
Run Code Online (Sandbox Code Playgroud)

查看链接了解更多信息。