使用 Mac 等效的 Unix“tree”命令在终端查看文件夹树

查看文件夹树 Mac 命令行

具有 unix 背景的 Mac 用户可能会喜欢知道如何在 macOS 和 Mac OS X 中实现与 Unix“树”命令等效的命令。实际上有几种不同的方法可以在 Mac 的终端中显示文件夹树OS X,我们将介绍通过别名实现的简单树等效项,以及如何在 Mac 上安装本机“树”,就像您在 Ubuntu 或 Linux 的其他地方看到的那样。

这显然是针对命令行用户的,但如果您花更多时间在 Mac 的 Finder 上,您可能会喜欢 递归列出文件和文件夹内容,这可能很相似,但显然不会在终端显示目录树。

在 Mac OS X 中创建一个相当于在终端中查看文件夹树的树

一个简单的别名将允许您从 Mac OS 的命令行查看文件夹树:

  1. 启动终端或 iTerm(如果您尚未启动)
  2. 在您喜欢的文本编辑器中打开您的 .bashrc 或 .zshrc 配置文件,我们使用 nano,因为 nano 很简单:
  3. nano.zshrc

  4. 在新的一行中,粘贴以下别名:
  5. alias tree="find . -print | sed -e 's[^/]*/|____gs____| |g'"

  6. 按 Control+O 和 Control+X 保存并退出 nano(或像往常一样退出 vim 或 emacs),您用于打印目录树的 tree 命令现在可以使用了

在 Mac 上查看文件夹树树别名

打开一个新终端或重新加载您的终端配置文件,您就可以使用了新的树别名。

在 Mac 上用“tree”显示目录树结构

现在您已经实现了别名,您可以使用“tree”命令在命令行中显示当前工作文件夹或目录的层次结构。例如,如果您在 Mac 的根 / 中并点击“树”,您将显示 Mac 上所有内容的层次结构(这将需要一段时间并且不推荐,但提供了它如何工作的演示)

tree 命令最好用在具有一定级别包含的子目录中,否则您将把整个文件系统的结构从当前工作目录中导出。

Mac 树等效命令行显示目录树

为 Mac 命令行安装“tree”

如果你想对“树”有更多的控制,比如指定目录的能力,或者你只是想要来自 unix 世界的确切的“树”等价物,你可以使用 homebrew 或 macports 直接安装树macOS 和 Mac OS X:

使用 Homebrew 安装“tree”

brew 安装树

使用 MacPorts 安装“tree”

sudo 端口安装树

我偏爱 Homebrew,但请使用适合您的任何一种。从任一安装后,键入“tree”将显示 Mac 上任何目录的文件夹树。

注意,为避免冲突,您不会希望在第一步中使用树别名,然后再安装树命令。您可以同时实现两者,但您可能希望将别名重命名为“treed”或类似名称。