徐冬丽 发表于 2017-7-7 10:49:39

mac 上面安装 tree 命令

  相信很多使用过Linux的用户都用过tree命令,它可以像windows的文件管理器一样清楚明了的显示目录结构。
  但是mac下默认是没有 tree命令的。
  1、我们可以使用find命令模拟出tree命令的效果,如显示当前目录的 tree 的命令:
  $ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
  2、你也可以写一个别名来快速执行该命令,运行如下命令,将上面这个命令写到~/.bash_profile里,以后直接运行tree命令就更方便了:
  $ alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
3、使用 homebrew 安装 tree 命令行:
  $ brew install tree
  这样就在你的mac上安装了 tree 命令行了。
  $ tree -a          //显示所有文件和目录。
  $ tree -d         //显示目录名称而非内容
  $ tree -L 2      //这个命令是比较实用的,后面的数字2代表几层
  MacBook:.cocoapods yoowei$ tree -L 2
  .
  └── repos
      ├── master
      └── net:443
   那么我想要同时显示.cocoapods的话,要来到上一级目录,同时指定那个文件夹就好.
  MacBook:~ yoowei$ tree .cocoapods -L 2
  .cocoapods
  └── repos
      ├── master
      └── net:443
  3 directories, 0 files
   如果不指定的话,那么所有的文件都会列出,不符合我们原有的预期。
  tree命令行参数(只实用与安装了tree命令行工具):
  -a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
页: [1]
查看完整版本: mac 上面安装 tree 命令