在 linux 上可以轻松使用 tree 命令查看目录结构,MacOS 没有自带 tree 命令,需要自己安装,或者使用 find 命令。
一、前言
在使用 git 上传代码到仓库时,有时候出现比较慢的情况,除了网络延迟,还有就是出现了比较大的文件,导致 push 变慢,所以就需要分析项目下所有文件的大小。
二、安装
1)使用 find 命令代替 tree 命令
- 配置别名,在
.zshrc
中加入以下内容:
vim ~/.zshrc
# 加入内容
alias trees="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
- 更新配置
source ~/.zshrc
2)安装 tree 命令(推荐
)
- 安装
brew install tree
- 配置别名
配置别名可以默认带上一些常用参数,如下别名配置相当于省略了 -S -A -C
参数,会默认携带。
alias trees='tree -S -A -C $*'
- 使用命令
# 使用别名命令
trees src -s
# 等价与
tree -S -A -C scr -s
3)使用 du 命令
du 命令只能显示当前一级目录或文件的大小,无法看到 tree 结构
- 基本命令
du -hs *
# or
du -shc *
# 显示当前目录下所有文件(包含文件夹)大小,并排序
du -sh * | sort -rh
三、tree 常用参数
-------清单选项-------
-a 列出所有文件和目录。
-d 仅仅列出目录名称。
-f 打印显示每个文件的完整路径前缀。
-L 后面跟数字,控制列出几级目录。
--------文件选项---------
-q 用"?"号取代控制字符,列出文件和目录名称。
-N 直接列出文件和目录名称,包括控制字符。
-Q 用双引号引用文件名。
-p 列出文件的权限标示。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-s 打印每个文件的字节大小。
-------排序选项-------
-v 按文本字母数字排序文件。
-t 按上次修改时间对文件进行排序。
-c 按上次状态更改时间对文件进行排序。
-U 保留文件未排序。
-r 反转排序的顺序。
--dirsfirst列出文件之前的目录(-U禁用)。
-------图形选项------
-i 不要打印缩进线。
-A 打印ANSI线图形缩进线。
-S 使用CP437(控制台)图形缩进线打印。
-n 始终关闭着色(-C覆盖)。
-C 总是打开彩色。
------- XML / HTML / JSON选项-------
-X 打印树的XML表示。
-J 打印出树的JSON表示。
-H baseHREF 以baseHREF作为顶层目录打印HTML格式。
-T string Replace the default HTML title and H1 header with string.
----其他选项----
--version打印版本并退出。
四、输出 tree 文件
# txt 文件
trees src -s > tree.txt
# xml 文件
trees src -s -X > tree.xml
# html 文件
trees src -s -H baseHREF > tree.html
欢迎访问:天问博客