Tree in linux command

Linux tree command

tree lists the contents of directories in a tree-like format. It can display the structure of your file system.

Description

tree is a recursive directory listing program that produces a depth-indented listing of files (which is colorized 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. tree then 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:

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

Syntax

Options

—help Outputs a verbose usage listing.
—version Outputs the version of tree.
-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.
-f Prints the full path prefix for each file.
-i Tree does not print the indentation lines. Useful when used in conjunction with the -f option.
-l Follows symbolic links to directories as if they were directories. Links that would result in a recursive loop are avoided.
-x Stay on the current file system only, as with find -xdev.
-P pattern List only those files that match the wildcard pattern. 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 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.
-I pattern Do not list those files that match the wildcard pattern.
—prune Makes tree prune empty directories from the output, useful when used in conjunction with -P or -I.
—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 syntax.
—noreport Omits printing of the file and directory report at the end of the tree listing.
-p Print the protections for each file (as per ls -l).
-s Print the size of each file with the name.
-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.
-D Print the date of the last modification time for the file listed.
—inodes Prints the inode number of the file or directory
—device Prints the device number to which the file or directory belongs
-F Append a `/‘ for directories, a `=‘ for socket files, a `*‘ for executable files and a `|‘ for FIFO’s, as per ls -F
-q Print non-printable characters in file names as question marks instead of the default carrot notation.
-N Print non-printable characters as is instead of the default carrot notation.
-r Sort the output in reverse alphabetic order.
-t Sort the output by last modification time instead of alphabetically.
—dirsfirst List directories before files.
-n Turn colorization off always, overridden by the -C option.
-C Turn colorization on always, using built-in color defaults if the LS_COLORS environment variable is not set. Useful to colorize output to a pipe.
-A Turn on ANSI line graphics hack when printing the indentation lines.
-S Turn on ASCII line graphics (useful when using linux console mode fonts). This option is now equivalent to `—charset=IBM437‘ and eventually is depreciated.
-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.
-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://host-name.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 want to use colors via CSS stylesheet, 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.
—charset charset Set the character set to use when outputting HTML and for line drawing.
—nolinks Turns off hyperlinks in HTML output.
-o file name Send output to file name.
Читайте также:  Android studio компиляция для windows

Examples

Displays the contents of the current directory and subdirectories in a tree. The output takes a graphical form which resembles the following example:

Displays a tree without anything beginning with example or containing ‘bin’ or ‘lib’ as specified in the pattern.

With an uppercase «P» you can list files with a pattern. This pattern example displays a tree only containing directories beginning with t or directories containing files that begin with t.

With a lowercase «p» you can list a tree that also shows the file permissions.

ls — List the contents of a directory or directories.

Источник

Linux see directory tree structure using tree command

H ow do list contents of directories in a structure like format under Linux operating systems?

You need to use command called tree. It will list contents of directories in a tree-like format. It is a recursive directory listing program that produces a depth indented listing of files. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn.

Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements Linux with tree command
Est. reading time 4 mintues

Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed.

tree command installation on a Linux

By default the tree command is not installed. Type the following command to install the same on a RHEL / CentOS / Fedora Linux using yum command:
# yum install tree
## CentOS/RHEL 8.x and Fedora user try the dnf command ##
# dnf install tree
If you are using Debian / Mint / Ubuntu Linux, type the following apt-get command/apt command to install the tree command:
$ sudo apt-get install tree
If you are using Apple OS X/macOS, install Homebrew on macOS and then type the following brew command:
brew install tree

Syntax – Linux see directory tree structure

To list contents of /etc in a tree-like format:
tree /etc
Sample outputs:

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

The -a option should be passed to see all files. 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).:
tree -a
To list directories only, run:
tree -d
Pass the -C option to see colorized output, using built-in color defaults:
tree -C
Sample outputs:

Fig.01: Linux tree Command To Display Structure of Directory Hierarchy

Источник

Linux ‘tree Command’ Usage Examples for Beginners

The tree is a tiny, cross-platform command-line program used to recursively list or display the content of a directory in a tree-like format. It outputs the directory paths and files in each sub-directory and a summary of a total number of sub-directories and files.

The tree program is available in Unix and Unix-like systems such as Linux, as well as DOS, Windows, and many other operating systems. It features various options for output manipulation, from file options, sorting options, to graphics options, and support for output in XML, JSON and HTML formats.

In this short article, we will show how to use the tree command with examples to recursively list the contents of a directory on a Linux system.

Learn tree Command Usage Examples

The tree command is available on all if not most Linux distributions, however, if you do not have it installed by default, use your default package manager to install it as shown.

Once installed, you can proceed further to learn the tree command usage with examples as shown below.

1. To list directory content in a tree-like format, navigate to the directory you want and run tree command without any options or arguments as follows. Remember to invoke sudo to run the tree in a directory that requires root user access permissions.

It will display the contents of the working directory recursively showing sub-directories and files, and a summary of the total number of sub-directories and files. You can enable the printing of hidden files using the -a flag.

List Directory Content in Tree Format

2. To list the directory contents with the full path prefix for each sub-directory and file, use the -f as shown.

List Directory Content with Location

3. You can also instruct tree to only print the subdirectories minus the files in them using the -d option. If used together with the -f option, the tree will print the full directory path as shown.

List Sub-Directory Paths

4. You can specify the maximum display depth of the directory tree using the -L option. For example, if you want a depth of 2, run the following command.

Set Directory Listing Depth

Here is another example about setting maximum display depth of the directory tree to 3.

Set Maximum Directory Listing Depth

5. To display only those files that match the wild-card pattern, use the -P flag and specify your pattern. In this example, the command will only list files that match cata* , so files such as Catalina.sh, catalina.bat, etc. will be listed.

List Files by Wild Card Pattern

6. You can also tell the tree to prune empty directories from the output by adding the —prune option, as shown.

7. There are also some useful file options supported by tree such as -p which prints the file type and permissions for each file in a similar way as the ls -l command.

Print File Type and Permissions

8. Besides, to print the username (or UID if no username is available), of each file, use the -u option, and the -g option prints the group name (or GID if no group name is available). You can combine the -p , -u and -g options to do a long listing similar to ls -l command.

Print File Type and Permissions with Owner

9. You can also print the size of each file in bytes along with the name using the -s option. To print the size of each file but in a more human-readable format, use the -h flag and specify a size letter for kilobytes (K), megabytes (M), gigabytes (G), terabytes (T), etc..

Print File Size

10. To display the date of the last modification time for each sub-directory or file, use the -D options as follows.

Show Date of Last Modification Time

11. Another useful option is —du , which reports the size of each sub-directory as the accumulation of sizes of all its files and subdirectories (and their files, and so on).

12. Last but not least, you can send or redirect the tree’s output to filename for later analysis using the -o option.

That’s all with the tree command, run man tree to know more usage and options. If you have any questions or thoughts to share, use the feedback form below to reach us.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

Читайте также:  Видеоадаптер майкрософт windows 10 для чего он
Оцените статью