≡ Menu

Bash Shell: Display All Hidden Dot Files In a Directory

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

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 7 comments… add one }

  • James April 2, 2009, 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.

  • Jamie August 26, 2012, 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.

    • jon kwong February 22, 2013, 11:29 pm

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

  • sama July 31, 2013, 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 !

  • Donavon January 26, 2014, 3:21 pm

    $ ls -a display all hidden dot files

  • Belmondo June 7, 2014, 5:50 pm

    what does this do differently to $ls -a ?
    $ls -a .*

  • Christoffer Aasted September 9, 2014, 4:49 pm

    ls -d .*

    Another great and short one.

Leave a Comment