Bash Shell: Display All Hidden Dot Files In a Directory

by on October 29, 2006 · 5 comments· LAST UPDATED November 9, 2012

in , ,

How do I display only hidden (dot) files names under Linux / UNIX / Apple OS X / *BSD family operating systems?

You can view only hidden files or directories in the current directory, using ls command and shell patterns.

Bash list only hidden files

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsBash
Estimated completion timeN/A

Use ls -a command to display all hidden dot files. The -a option do not hide entries starting with . in the current directory or given path. Type the following command:

$ ls -a

Sample outputs:

gimp.txt                                                .viminfo
.gnome                                                  vivek-feed.xml
.gnome2                                                 .vlc
.gnome2_private                                         .vmware
.gnome-desktop                                          .wine
.gnome_private                                          Woh Lamhe - 2006-MP3-VBR-128Kbps
go.html                                                 .Xauthority

As you see output includes all the files including hidden dot files. To just display dot files use any one of the following command:
$ ls -a | egrep '^\.'
$ ls -A | egrep '^\.'

OR
$ ls -l ~/.[^.]* | less
OR
$ ls -ld ~/.[^.]*
OR
$ ls -l ~/.??*
OR
$ ls -ld ~/.??*
Sample outputs:

You can create an alias and put into your ~/.bash_profile or ~/.bashrc file:
$ vi ~/.bash_profile
Append the following line:
alias lh='ls -a | egrep "^\."'
OR
alias lh='ls -l .??*'
alias lhd='ls -ld .??*'

Save and close the file. Now you can use lh or lhd commands to display only hidden dot files under Unix like operating systems.
$ lh
OR
$ lhd
Sample outputs:

Fig.01: HowTo: use terminal ls command to see hidden dot files

Fig.01: HowTo: use terminal ls command to see hidden dot files

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 5 comments… read them below or add one }

1 James April 2, 2009 at 5:17 pm

If you use grep you will lose formatting (multi-column) and colour.

If you use “ls -Ad .*”, it will show you all hidden (dot) files and retain the formatting and colour. The “-d” argument is used to only show the top-level files and not contents of hidden directories.

Thanks for the tip, I didn’t know about the -A argument.

Reply

2 Jamie August 26, 2012 at 9:14 am

I have some files I hid using ‘chflags hidden MyHiddenFolder’. When using ‘ls -la’ the hidden files and folders show a @ symbol next to it. After doing some research I found out that is for signifying Extended Attributes.

When doing a ‘ls -@’ you can see that the files I changed with ‘chflags’ to hidden have a “com.apple.FinderInfo”. Do you know a way to ‘ls’ for files with Extended Attributes and more specifically just the ones that are hidden? Other files can have Extended Attributes and not be hidden.

Basically I wanted to clean up my Finder views by hiding files and folders I don’t use often and don’t want to see. However, I want to have a way to find all files/folders I have done that to so I have a way to go over which ones I have done that to.

Reply

3 jon kwong February 22, 2013 at 11:29 pm

Try ls .?*
that is “dot question_mark asterisk”
That works for me.

Reply

4 sama July 31, 2013 at 11:19 pm

Is there a way we can see this in nautilus ( ubuntu file browser ) ? how can i see all files i.e init.d files in gui !

Reply

5 Donavon January 26, 2014 at 3:21 pm

$ ls -a display all hidden dot files

Reply

Leave a Comment

Tagged as: , , , , , , , ,

Previous Faq:

Next Faq: