Tree: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite Linux:Befehl:tree nach Tree, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „Linux:Befehl:“ durch „“ |
K Textersetzung - „Category:“ durch „Kategorie:“ |
||
Zeile 286: | Zeile 286: | ||
</div> | </div> | ||
[[ | [[Kategorie:Linux:Dateisystem]] |
Version vom 13. Juni 2022, 01:44 Uhr
tree listed den Inhalt von Verzeichnissen als Baum auf
Beschreibung
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.
Installation
# apt install tree
Syntax
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 ...]
Syntax
Parameter
Optionen
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.
- 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 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 indentation 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 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.
--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 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 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.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.
--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 (.) di‐
rectory 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.
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 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.
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.
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 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.
Konfiguration
Anwendungen
Links
Dateien
- /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
Man-Pages
- dircolors(1)
- ls(1)
- find(1)
- du(1)
- strftime(3)
- gitignore(5)
Intern
Weblinks
Kontrollfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5