可选:强制彩色输出

可选:强制彩色输出

有没有与 Ubuntu 相当的tree命令适用于 Mac OS X 吗?

答案1

您也可以在 macOS 上获取该tree命令。如果您有自制

brew install tree

如果你没有安装 Homebrew,请尝试方法如下。


安装包管理器方法

按照这些网站上的说明进行安装自制麦金塔, 或者芬克。不要同时安装多个包管理器!

按照您安装的内容的提示进行操作。

对于 Homebrew:brew install tree

对于 MacPorts:sudo port install tree

对于 Fink 来说:fink install tree

从源代码安装

  1. 通过运行安装 Xcode 命令行工具xcode-select --install

  2. 下载tree源代码

  3. 修改 Makefile 使其工作,这也解释了以下是@apuche 的回答。注释掉 Linux 选项并取消注释 macOS 选项就足够了。

  4. 然后,运行./configure,然后make

  5. 现在您必须将tree二进制文件移动到可执行文件路径中的位置。例如:

     sudo mkdir -p /usr/local/bin
     sudo cp tree /usr/local/bin/tree
    
  6. 现在编辑~/.bash_profile以包括:

     export PATH="/usr/local/bin:$PATH"
    
  7. 重新加载 shell,现在which tree应该指向/usr/local/bin/tree

答案2

不完全一样,但在 Mac 上有一种快捷方式:

find .

就是这样。它将以列表形式列出当前目录中的所有文件路径。

答案3

或者,如果您的管理员不允许您安装任何brew、、工具finkport您可以随时从源代码构建它:

curl -O ftp://mama.indstate.edu/linux/tree/tree-1.5.3.tgz
tar xzvf tree-1.5.3.tgz
cd tree-1.5.3/
ls -al

编辑 Makefile 以注释 linux 部分并取消注释 osx 区域:

# Linux defaults:
#CFLAGS=-ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
#CFLAGS=-O2 -Wall -fomit-frame-pointer -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
#LDFLAGS=-s

# Uncomment for OS X:
CC=cc
CFLAGS=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
LDFLAGS=
XOBJS=strverscmp.o

可选:强制彩色输出

如果你想强制树始终为输出着色,你可以随时编辑文件main的方法tree.cforce_color=TRUE;在之前添加setLocale(LC_TYPE,"");

最后点击make,您就完成了treeMac 的构建。

致敬肖恩·查普曼请参阅他博客上的原始帖子。

答案4

你应该使用自制. 如果你这样做:

brew install tree

相关内容