tree(1) - man - phpMan

 


tree(1)
NAME SYNOPSIS DESCRIPTION OPTIONS LISTING OPTIONS FILE OPTIONS SORTING OPTIONS GRAPHICS OPTIONS XML/JSON/HTML OPTIONS INPUT OPTIONS MISC OPTIONS FILES ENVIRONMENT AUTHOR BUGS AND NOTES SEE ALSO
TREE(1)                                General Commands Manual                               TREE(1)



NAME
       tree - list contents of directories in a tree-like format.

SYNOPSIS
       tree  [-acdfghilnpqrstuvxACDFJQNSUX]  [-L  level [-R]] [-H baseHREF] [-T title] [-o filename]
       [-P pattern] [-I pattern] [--gitignore] [--matchdirs]  [--metafirst]  [--ignore-case]  [--no‐‐
       links]  [--inodes]  [--device]  [--sort[=]name]  [--dirsfirst] [--filesfirst] [--filelimit #]
       [--si] [--du] [--prune] [--timefmt[=]format] [--fromfile] [--info]  [--noreport]  [--version]
       [--help] [--] [directory ...]


DESCRIPTION
       Tree  is  a  recursive  directory  listing  program that produces a depth indented listing of
       files, which is colorized ala dircolors if the LS_COLORS environment variable is set and out‐
       put  is  to tty.  With no arguments, tree lists the files in the current directory.  When di‐
       rectory arguments are given, tree lists all the files and/or directories found in  the  given
       directories  each  in turn.  Upon completion of listing all files/directories found, tree re‐
       turns the total number of files and/or directories listed.

       By default, when a symbolic link is encountered, the path that the symbolic link refers to is
       printed after the name of the link in the format:

           name -> real-path

       If  the  `-l'  option is given and the symbolic link refers to an actual directory, then tree
       will follow the path of the symbolic link as if it were a real directory.


OPTIONS
       Tree understands the following command line switches:


LISTING OPTIONS
       -a     All files are printed.  By default tree does not print hidden files  (those  beginning
              with  a dot `.').  In no event does tree print the file system constructs `.' (current
              directory) and `..' (previous directory).

       -d     List directories only.

       -l     Follows symbolic links if they point to directories, as if they were directories. Sym‐
              bolic links that will result in recursion are avoided when detected.

       -f     Prints the full path prefix for each file.

       -x     Stay on the current file-system only.  Ala find -xdev.

       -L level
              Max display depth of the directory tree.

       -R     Recursively cross down the tree each level directories (see -L option), and at each of
              them execute tree again adding `-o 00Tree.html' as a new option.

       -P pattern
              List only those files that match the wild-card pattern.  You may have multiple -P  op‐
              tions.  Note: you must use the -a option to also consider those files beginning with a
              dot `.' for matching.  Valid wildcard operators are `*' (any zero or more characters),
              `**`  (any  zero  or more characters as well as null /'s, i.e. /**/ may match a single
              /), `?' (any single character), `[...]' (any single character listed between  brackets
              (optional - (dash) for character range may be used: ex: [A-Z]), and `[^...]' (any sin‐
              gle character not listed in brackets) and `|' separates alternate patterns. A  '/'  at
              the end of the pattern matches directories, but not files.

       -I pattern
              Do  not  list  those files that match the wild-card pattern.  You may have multiple -I
              options.  See -P above for information on wildcard patterns.

       --gitignore
              Uses  git  .gitignore  files  for  filtering  files  and   directories.    Also   uses
              $GIT_DIR/info/exclude if present.

       --ignore-case
              If a match pattern is specified by the -P or -I option, this will cause the pattern to
              match without regards to the case of each letter.

       --matchdirs
              If a match pattern is specified by the -P option, this will cause the  pattern  to  be
              applied to directory names (in addition to filenames).  In the event of a match on the
              directory name, matching is disabled for the directory's contents. If the --prune  op‐
              tion is used, empty folders that match the pattern will not be pruned.

       --metafirst
              Print the meta-data information at the beginning of the line rather than after the in‐
              dentation lines.

       --prune
              Makes tree prune empty directories from the output, useful when  used  in  conjunction
              with -P or -I.  See BUGS AND NOTES below for more information on this option.

       --info Prints file comments found in .info files.  See .INFO FILES below for more information
              on the format of .info files.

       --noreport
              Omits printing of the file and directory report at the end of the tree listing.

       --charset charset
              Set the character set to use when outputting HTML and for line drawing.

       --filelimit #
              Do not descend directories that contain more than # entries.

       --timefmt format
              Prints (implies -D) and formats the date according to the format string which uses the
              strftime(3) syntax.

       -o filename
              Send output to filename.

FILE OPTIONS
       -q     Print non-printable characters in filenames as question marks instead of the default.

       -N     Print non-printable characters as is instead of as escaped octal numbers.

       -Q     Quote the names of files in double quotes.

       -p     Print the file type and permissions for each file (as per ls -l).

       -u     Print the username, or UID # if no username is available, of the file.

       -g     Print the group name, or GID # if no group name is available, of the file.

       -s     Print the size of each file in bytes along with the name.

       -h     Print  the  size  of each file but in a more human readable way, e.g. appending a size
              letter for kilobytes (K), megabytes (M), gigabytes (G), terabytes (T),  petabytes  (P)
              and exabytes (E).

       --si   Like -h but use SI units (powers of 1000) instead.

       --du   For  each  directory report its size as the accumulation of sizes of all its files and
              sub-directories (and their files, and so on).  The total amount of used space is  also
              given  in  the  final  report (like the 'du -c' command.) This option requires tree to
              read the entire directory tree before emitting it, see BUGS AND NOTES below.   Implies
              -s.

       -D     Print  the date of the last modification time or if -c is used, the last status change
              time for the file listed.

       -F     Append a `/' for directories, a `=' for socket files, a `*' for  executable  files,  a
              `>' for doors (Solaris) and a `|' for FIFO's, as per ls -F

       --inodes
              Prints the inode number of the file or directory

       --device
              Prints the device number to which the file or directory belongs

SORTING OPTIONS
       -v     Sort the output by version.

       -t     Sort the output by last modification time instead of alphabetically.

       -c     Sort  the output by last status change instead of alphabetically.  Modifies the -D op‐
              tion (if used) to print the last status change instead of modification time.

       -U     Do not sort.  Lists files in directory order. Disables --dirsfirst.

       -r     Sort the output in reverse order.  This is a meta-sort that  alter  the  above  sorts.
              This option is disabled when -U is used.

       --dirsfirst
              List  directories before files. This is a meta-sort that alters the above sorts.  This
              option is disabled when -U is used.

       --filesfirst
              List files before directories. This is a meta-sort that alters the above sorts.   This
              option is disabled when -U is used.

       --sort[=]type
              Sort  the output by type instead of name. Possible values are: ctime (-c), mtime (-t),
              size, or version (-v).


GRAPHICS OPTIONS
       -i     Makes tree not print the indentation lines, useful when used in conjunction  with  the
              -f  option.   Also  removes as much whitespace as possible when used with the -J or -x
              options.

       -A     Turn on ANSI line graphics hack when printing the indentation lines.

       -S     Turn on CP437 line graphics (useful when using Linux console mode fonts). This  option
              is now equivalent to `--charset=IBM437' and may eventually be depreciated.

       -n     Turn  colorization  off  always,  over-ridden by the -C option, however overrides CLI‐
              COLOR_FORCE if present.

       -C     Turn colorization on always,  using  built-in  color  defaults  if  the  LS_COLORS  or
              TREE_COLORS environment variables are not set.  Useful to colorize output to a pipe.

XML/JSON/HTML OPTIONS
       -X     Turn on XML output. Outputs the directory tree as an XML formatted file.

       -J     Turn on JSON output. Outputs the directory tree as a JSON formatted array.

       -H baseHREF
              Turn  on HTML output, including HTTP references. Useful for ftp sites.  baseHREF gives
              the base ftp location when using HTML output. That is,  the  local  directory  may  be
              `/local/ftp/pub',  but  it  must  be  referenced  as  `ftp://hostname.organization.do‐
              main/pub' (baseHREF should be `ftp://hostname.organization.domain'). Hint:  don't  use
              ANSI  lines  with this option, and don't give more than one directory in the directory
              list. If you wish to use colors via CSS style-sheet, use the -C option in addition  to
              this option to force color output.

       -T title
              Sets the title and H1 header string in HTML output mode.

       --nolinks
              Turns off hyperlinks in HTML output.

INPUT OPTIONS
       --fromfile Reads a directory listing from a file rather than the file-system.  Paths provided
       on the command line are files to read from rather than directories to search.   The  dot  (.)
       directory indicates that tree should read paths from standard input. NOTE: this is only suit‐
       able for reading the output of a program such as find, not 'tree -fi' as symlinks cannot  (at
       least as yet) be distinguished from files that simply contain ' -> ' as part of the filename.


MISC OPTIONS
       --help Outputs a verbose usage listing.

       --version
              Outputs the version of tree.

       --     Option processing terminator.  No further options will be processed after this.

.INFO FILES
       .info  files  are similiar to .gitignore files, if a .info file is found while scanning a di‐
       rectory it is read and added to a stack of .info information. Each file is composed  of  com‐
       ments (lines starting with hash marks (#),) or wild-card patterns which may match a file rel‐
       ative to the directory the .info file is found in.  If a file should match a pattern, the tab
       indented  comment  that follows the pattern is used as the file comment.  A comment is termi‐
       nated by a non-tab indented line. Multiple patterns, each to a line, may share the same  com‐
       ment.


FILES
       /etc/DIR_COLORS          System color database.
       ~/.dircolors             Users color database.
       .gitignore               Git exclusion file
       $GIT_DIR/info/exclude    Global git file exclusion list
       .info                    File comment file
       /usr/share/finfo/global_info  Global file comment file



ENVIRONMENT
       LS_COLORS      Color information created by dircolors
       TREE_COLORS    Uses this for color information over LS_COLORS if it is set.
       TREE_CHARSET   Character set for tree to use in HTML mode.
       CLICOLOR       Enables colorization even if TREE_COLORS or LS_COLORS is not set.
       CLICOLOR_FORCE Always enables colorization (effectively -C)
       LC_CTYPE       Locale for filename output.
       LC_TIME        Locale for timefmt output, see strftime(3).
       TZ             Timezone for timefmt output, see strftime(3).
       STDDATA_FD     Enable the stddata feature, optionally set descriptor to use.


AUTHOR
       Steve Baker (ice AT mama.edu)
       HTML output hacked by Francesc Rocher (rocher AT econ.es)
       Charsets and OS/2 support by Kyosuke Tokoro (NBG01720 AT nifty.jp)


BUGS AND NOTES
       Tree  does  not prune "empty" directories when the -P and -I options are used by default. Use
       the --prune option.

       The -h and --si options round to the nearest whole number unlike the ls implementations which
       rounds up always.

       Pruning  files and directories with the -I, -P and --filelimit options will lead to incorrect
       file/directory count reports.

       The --prune and --du options cause tree to accumulate the entire tree in memory before  emit‐
       ting  it.  For large directory trees this can cause a significant delay in output and the use
       of large amounts of memory.

       The timefmt expansion buffer is limited to a ridiculously large 255  characters.   Output  of
       time strings longer than this will be undefined, but are guaranteed to not exceed 255 charac‐
       ters.

       XML/JSON trees are not colored, which is a bit of a shame.

       Probably more.

       As of version 2.0.0, in Linux, tree will attempt to automatically output a compact JSON  tree
       on  file  descriptor  3  (what  I call stddata,) if present and the environment variable STD‐
       DATA_FD is defined or set to a positive non-zero file descriptor value to use to  output  on.
       It  is  hoped  that  some  day  a better Linux/Unix shell may take advantage of this feature,
       though BSON would probably be a better format for this.


SEE ALSO
       dircolors(1), ls(1), find(1), du(1), strftime(3) gitignore(5)



Tree 2.0.0                                                                                   TREE(1)

Generated by phpMan Author: Che Dong Under GNU General Public License - MarkDown | JSON | MCP | TLDR | Cheat
2026-05-29 21:01 @216.73.216.79 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top