🌳 Linux - tree 生成目录树「Note」

首页 / 💰笔记 / 正文


  • tree 安装
  • tree 可选参数
  • tree 常用参数
  • win 配置

tree 安装

apt-get install tree
apt-get install tree
apk add tree
#Arch Linux
pacman -S tree
#Kali Linux
apt-get install tree
yum install tree
dnf install tree
brew install tree
apt-get install tree
docker run cmd.cat/tree tree

这里以 CentOS 为例:yum install tree



  • Syntax
usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
        [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
        [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
        [--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]
  • 可选参数
------- Listing options -------
-a            All files are listed.
-d            List directories only.
-l            Follow symbolic links like directories.
-f            Print the full path prefix for each file.
-x            Stay on current filesystem only.
-L level      Descend only level directories deep.
-R            Rerun tree when max dir level reached.
-P pattern    List only those files that match the pattern given.
-I pattern    Do not list files that match the given pattern.
--noreport    Turn off file/directory count at end of tree listing.
--charset X   Use charset X for terminal/HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
--timefmt <f> Print and format time according to the format <f>.
-o filename   Output to file instead of stdout.
--du          Print directory sizes.
--prune       Prune empty directories from the output.

-------- File options ---------
-q            Print non-printable characters as '?'.
-N            Print non-printable characters as is.
-Q            Quote filenames with double quotes.
-p            Print the protections for each file.
-u            Displays file owner or UID number.
-g            Displays file group owner or GID number.
-s            Print the size in bytes of each file.
-h            Print the size in a more human readable way.
--si          Like -h, but use in SI units (powers of 1000).
-D            Print the date of last modification or (-c) status change.
-F            Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
--inodes      Print inode number of each file.
--device      Print device ID number to which each file belongs.

------- Sorting options -------
-v            Sort files alphanumerically by version.
-r            Sort files in reverse alphanumeric order.
-t            Sort files by last modification time.
-c            Sort files by last status change time.
-U            Leave files unsorted.
--dirsfirst   List directories before files (-U disables).

------- Graphics options ------
-i            Don't print indentation lines.
-A            Print ANSI lines graphic indentation lines.
-S            Print with ASCII graphics indentation lines.
-n            Turn colorization off always (-C overrides).
-C            Turn colorization on always.

------- XML/HTML options -------
-X            Prints out an XML representation of the tree.
-H baseHREF   Prints out HTML format with baseHREF as top directory.
-T string     Replace the default HTML title and H1 header with string.
--nolinks     Turn off hyperlinks in HTML output.
---- Miscellaneous options ----
--version     Print version and exit.
--help        Print usage and this help message and exit.


  • tree -L <num>:显示 num 级深度的文件和目录(其中 1 表示当前目录)
  • tree -d:显示目录
  • tree -a:显示所有(含隐藏)文件
  • tree -h/s:显示节点大小
  • tree -P/I '<Pattern>':Pattern 取正/反
  • ※ 组合使用

    • e.g. tree -a -d -h -P 'dist'


显示 num 级深度的文件和目录(其中 1 表示当前目录)

※ 注意是「文件 & 目录」
  • tree -L <num>



  • tree -d



  • tree -a



  • tree -h
  • tree -s


匹配字符 Pattern

  • tree -P '<pattern>':展示符合匹配规则的 Files


  • tree -I '<pattern>':展示符合匹配规则 以外 的 Files(简言:取反)

    • 这里以不想列出 *.json*.css 为例:tree -I '*.json|*.css'


win 配置

基于 node 的 treer

  • 安装:npm install -g treer
  • 使用:treer - h

基于 tree-node-cli

  • 安装:npm install -g tree-node-cli
  • 使用:tree - h