Mac OS_ 安装 tree 命令

关于 Ubuntu 上使用 tree 命令,参照 Ubuntu 16.04 用 tree 查看目录结构

1 下载

tree 官网 The Tree Command for Linux Homepage
点击 Download the latest version (tree-1.7.0.tgz) (HTTP)
下载得到一个 tree-1.7.0.tgz 文件,Mac 可以双击解压。也可以用一下命令解压

或者 Github 页面
Release 页面 https://github.com/Old-Man-Programmer/tree/
https://github.com/Old-Man-Programmer/tree/releases/tag/2.1.1 获取源码文件 并解压

tar -xzvf tree-2.1.1.tar.gz

得到一个文件夹 tree-2.1.1。

(base) ➜  tree-2.1.1 tree .
.
├── CHANGES
├── INSTALL
├── LICENSE
├── Makefile
├── README
├── TODO
├── color.c
├── color.o
├── doc
│   ├── global_info
│   ├── tree.1
│   └── xml.dtd
├── file.c
├── file.o
├── filter.c
├── filter.o
├── hash.c
├── hash.o
├── html.c
├── html.o
├── info.c
├── info.o
├── json.c
├── json.o
├── list.c
├── list.o
├── strverscmp.c
├── strverscmp.o
├── tree
├── tree.c
├── tree.h
├── tree.lsm
├── tree.o
├── unix.c
├── unix.o
├── xml.c
└── xml.o

2 directories, 36 files

2 修改 makefile

2.1 取消注释

在 makefile ,第55 - 60行,原本是

# Uncomment for OS X:
# It is not allowed to install to /usr/bin on OS X any longer (SIP):
# CC=cc
# CFLAGS+=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
# LDFLAGS+=
# MANDIR=${PREFIX}/share/man

把 56 - 60 行取消注释,得到

# Uncomment for OS X:
# It is not allowed to install to /usr/bin on OS X any longer (SIP):
CC=cc
CFLAGS+=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
LDFLAGS+=
MANDIR=${PREFIX}/share/man

2.2 可选

下面是可选动作,即给 tree 命令的现实结果增加颜色显示。
进入 tree.c 文件,找到以下这一行代码。

	setlocale(LC_CTYPE, "");
  setlocale(LC_COLLATE, "");

在 setlocale(LC_CTYPE, “”); 这行代码的前面加上

force_color=TRUE;
setlocale(LC_CTYPE, "");
setlocale(LC_COLLATE, "");

保存并退出。

3 编译

前提是 Mac 已经安装了Xcode命令行工具。如果没有安装,参照 Mac OS: 下载 Xcode 命令行工具地址
进入解压以后的 tree 目录,并进行编译

(base) ➜  tree-2.1.1 make
cc -ggdb -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall -fomit-frame-pointer -no-cpp-precomp -c -o tree.o tree.c

执行完 make 命令以后,就得到一个叫 tree 的二进制文件,直接复制到 /usr/local/bin/ 目录。

然后进去配置文件中设置 alias,

alias tree="/usr/local/bin/tree"

增加一行

保存退出后,再刷新配置文件。

最后就可以使用 tree 命令了。
要显示几层子目录,使用 -L n 参数即可,n 是需要显示的层数数字。

参考

MAC终端中安装命令行工具TREE
Mac OS X equivalent of the Ubuntu “tree” command
How to install the “tree” command on Mac OS X

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值