Provided by: tree_2.0.2-1_amd64 bug


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


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


       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
       output is to tty.  With no arguments, tree lists the files in the current directory.  When
       directory 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 returns 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.


       Tree understands the following command line switches:


       -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.
              Symbolic 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
              options.  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 single character  not  listed  in  brackets)  and  `|'  separates
              alternate  patterns.  A  '/' at the end of the pattern matches directories, but not

       -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.

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

              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.

              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 option is used, empty folders that match the pattern will not be pruned.

              Print the meta-data information at the beginning of the line rather than after  the
              indentation lines.

              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.

              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.


       -q     Print non-printable characters in  filenames  as  question  marks  instead  of  the

       -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

              Prints the inode number of the file or directory

              Prints the device number to which the file or directory belongs


       -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
              option (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.

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

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

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


       -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
              CLICOLOR_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


       -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.domain/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.

              Turns off hyperlinks in HTML output.


       --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 suitable 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.


       --help Outputs a verbose usage listing.

              Outputs the version of tree.

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


       .info files are similiar to .gitignore files, if a .info file is found  while  scanning  a
       directory  it  is read and added to a stack of .info information. Each file is composed of
       comments (lines starting with hash marks (#),) or wild-card patterns  which  may  match  a
       file  relative  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  terminated by a non-tab indented line. Multiple patterns, each to a line, may
       share the same comment.


       /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


       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.


       Steve Baker (
       HTML output hacked by Francesc Rocher (
       Charsets and OS/2 support by Kyosuke Tokoro (


       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
       emitting 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

       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
       STDDATA_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.


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