≡ 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

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 8 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.

  • Hastur January 22, 2016, 10:59 am

    **Warning** with ‘alias lh='ls -l .??*' you will not see file with only one character after the dot, as for example `.a` or `.b`…
    So instead of

    alias lh='ls -l .??*'
    alias lhd='ls -ld .??*'

    it is better
    alias lh='ls -lA | egrep " \." '
    alias lhd='ls -ldA | egrep " \." '

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , ,