≡ 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

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 '^\.'

$ ls -l ~/.[^.]* | less
$ ls -ld ~/.[^.]*
$ ls -l ~/.??*
$ 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 "^\."'
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
$ 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

{ 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

   Tagged with: , , , , , , , ,