A dot-file is generally any file whose name begins with a full stop. In Linux or Unix like operating system it is also called as hidden file. How do I list all dot files in my home directory?
You can use the ls command to list all dot files in your current directory:
ls .*
Sample outputs:
.bash_history .bash_profile .bashrc .lesshst .profile .viminfo .: checkfs checkroot interfaces interfaces.new scripts securedata.keyfile ..: lost+found root root.user.only .aptitude: cache config .keychain: nas01-csh nas01-fish nas01-sh .ssh: id_rsa id_rsa.pub known_hosts .system_file_bakups: .vim:
Please use the following syntax instead of .* for security reasons to avoid unexpected results:
ls .[^.]*
Another option is to use the find command:
$ find . -name ".*"
OR
$ find . -name ".[^.]*"
Sample outputs:
. ./.bash_history ./.system_file_bakups ./.viminfo ./.bashrc ./.lesshst ./.ssh ./.profile ./.aptitude ./.bash_profile ./.vim ./.vim/.netrwhist ./.keychain
To list only matching dot files, enter:
$ find . -type f -name ".*"
Sample outputs:
./.bash_history ./.viminfo ./.bashrc ./.lesshst ./.profile ./.bash_profile ./.vim/.netrwhist
To list only matching dot directories, enter:
$ find . -type d -name ".*"
Sample outputs:
. ./.system_file_bakups ./.ssh ./.aptitude ./.vim ./.keychain
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 5 comments… read them below or add one }
. can be displayed using the command
ls -a
I always liked “ls .??*” as it excludes the “.” and “..” directories. Will miss any file/directory names which are “.” followed by a single character, though. Could get fancy, set the extglob shell extension (shopt -s extglob) and then:
ls .!(.)*
Another way to list “.” files and directories is “ls -d .*”
I think what most people want is either:
ls -d .*
To list all .files, and .directories, without listing .directory contents
or
ls -ld .*
The same but in long format.
This is all very well, but how do I get rid of the stupid “./.” at the beginning of the names? I want an output that looks like this:
.system_file_bakups
.ssh
.aptitude
.vim
.keychain
Nice and clean, no extra characters and only directory names!