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.
Installation
By default the tree command is not installed. Type the following command to install the same under RHEL / CentOS / Fedora Linux:
# yum install tree
If you are using Debian / Mint / Ubuntu Linux, type the following command to install the tree command:
$ sudo apt-get install tree
Syntax
The syntax is:
tree tree /path/to/directory tree [options] tree [options] /path/to/directory
To list contents of /etc in a tree-like format:
tree /etc
Sample outputs:
etc
|-- abrt
| |-- abrt-action-save-package-data.conf
| |-- abrt.conf
| |-- gpg_keys
| `-- plugins
| |-- CCpp.conf
| `-- python.conf
|-- acpi
| |-- actions
| | `-- power.sh
| `-- events
| |-- power.conf
| `-- video.conf
|-- adjtime
|-- aliases
|-- aliases.db
|-- alsa
| `-- alsactl.conf
|-- alternatives
| |-- links -> /usr/bin/elinks
| |-- links-man -> /usr/share/man/man1/elinks.1.gz
| |-- mta -> /usr/sbin/sendmail.postfix
| |-- mta-aliasesman -> /usr/share/man/man5/aliases.postfix.5.gz
| |-- mta-mailq -> /usr/bin/mailq.postfix
| |-- mta-mailqman -> /usr/share/man/man1/mailq.postfix.1.gz
| |-- mta-newaliases -> /usr/bin/newaliases.postfix
| |-- mta-newaliasesman -> /usr/share/man/man1/newaliases.postfix.1.gz
| |-- mta-pam -> /etc/pam.d/smtp.postfix
| |-- mta-rmail -> /usr/bin/rmail.postfix
| |-- mta-sendmail -> /usr/lib/sendmail.postfix
| `-- mta-sendmailman -> /usr/share/man/man1/sendmail.postfix.1.gz
|-- anacrontab
|-- asound.conf
|-- at.deny
|-- audisp
| |-- audispd.conf
| `-- plugins.d
| |-- af_unix.conf
| |-- sedispatch.conf
| `-- syslog.conf
|-- audit
| |-- auditd.conf
....
..
..
|-- xinetd.d
| `-- rsync
|-- xml
| `-- catalog
|-- yum
| |-- pluginconf.d
| | |-- product-id.conf
| | |-- protectbase.conf
| | |-- rhnplugin.conf
| | `-- subscription-manager.conf
| |-- protected.d
| |-- vars
| `-- version-groups.conf
|-- yum.conf
`-- yum.repos.d
|-- epel.repo
|-- epel-testing.repo
|-- ksplice-uptrack.repo
|-- redhat.repo
`-- rhel-source.repo
208 directories, 1452 files
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:
Here is a list of all options supported by the tree program:
-a All files are listed. -d List directories only. -l Follow symbolic links like directories. -f Print the full path prefix for each file. -i Don't print indentation lines. -q Print non-printable characters as '?'. -N Print non-printable characters as is. -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. -D Print the date of last modification. -F Appends '/', '=', '*', or '|' as per ls -F. -v Sort files alphanumerically by version. -r Sort files in reverse alphanumeric order. -t Sort files by last modification time. -x Stay on current filesystem only. -L level Descend only level directories deep. -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. -P pattern List only those files that match the pattern given. -I pattern Do not list files that match the given pattern. -H baseHREF Prints out HTML format with baseHREF as top directory. -T string Replace the default HTML title and H1 header with string. -R Rerun tree when max dir level reached. -o file Output to file instead of stdout. --inodes Print inode number of each file. --device Print device ID number to which each file belongs. --noreport Turn off file/directory count at end of tree listing. --nolinks Turn off hyperlinks in HTML output. --dirsfirst List directories before files. --charset X Use charset X for HTML and indentation line output. --filelimit # Do not descend dirs with more than # files in them.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop















{ 0 comments… add one now }