Show hidden files with tree

Josh Sherman
1 min read
Command-line Interface

The tree command is one of my favorites. As the name of the command suggests, it simply lists the contents of a directory in a tree-like format.

Think of it like ls *, which outputs the contents of each directory, but instead of a flat list, the files are shown with a cool little ASCII tree as such:

/tmp/tree
% tree
.
├── one
│   ├── file1.txt
│   ├── file2.txt
│   └── file3.txt
├── three
│   ├── file1.txt
│   ├── file2.txt
│   └── file3.txt
└── two
    ├── file1.txt
    ├── file2.txt
    └── file3.txt

3 directories, 9 files

While you can’t necessarily tell by looking at the output, there aren’t any hidden files being shown. Generally speaking, that’s not a bad thing, especially if you are using tree with noisy directory that has a ton of hidden files (like your home directory).

If you did want to display hidden files, all you need to do is pass in the -a flag, and that will tell tree to show all files:

/tmp/tree
% tree -a
.
├── .hiddenFile1.txt
├── .hiddenFile2.txt
├── .hiddenFile3.txt
├── one
│   ├── file1.txt
│   ├── file2.txt
│   └── file3.txt
├── three
│   ├── file1.txt
│   ├── file2.txt
│   └── file3.txt
└── two
    ├── file1.txt
    ├── file2.txt
    └── file3.txt

3 directories, 12 files
Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Engineering Manager and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.

Currently Reading

Parasie Eve

Previous Reads

Buy Me a Coffee Become a Sponsor

Related Articles