Linux

How to remove hidden files in Linux

I am a new Linux sysadmin and Ubuntu Linux user. How can I remove hidden files in Linux? How do I delete hidden files in Linux starting with . (dot) character?

Introduction: Linux and Unix like operating system allow users to hide files. By default, all hidden files not listed by the ls command. Any filename begins with a dot (.) becomes a hidden file. For example ~/.bashrc is a hidden file in Linux. Hidden files are often known as a dot file. All dot files used for storing user preferences on Linux. Please note that hidden or dot files are not a security mechanism. They exist to reduced “clutter” of the contents of a directory listing.

How to display hidden / dot files in Linux

One an display hidden files by passing the -a option to the ls command. For example:
ls -a
ls -la
ls -l /path/to/.filename

Linux display hidden files command
You can add a “/” after directory names in Linux:
ls -F
ls -Fa

One can get a reverse listing:
ls -r
ls -ra

To just display dot/hidden files in Linux use any one of the following command along with grep command/egrep command:
ls -a | egrep '^.'
ls -A | egrep '^.'
ls -l ~/.[^.]* | less
ls -ld ~/.[^.]*
ls -l ~/.??*
ls -ld ~/.??*

Just display hidden dot files in Linux with ls
See “Linux / Unix: Find And List All Hidden Files Recursively” for more info.

Command to remove hidden files in Linux

To remove hidden files in Linux, try:
rm .file
rm -i /path/to/.fileName
rm -i /path/to/.dirName
rm -rf /path/to/dir/.*

Of course, you can not delete two individual directories:

  1. . – The current directory indicated by a single dot.
  2. .. – The parent directory indicated by two successive dots.

Let us try out:
cd /tmp/
mkdir demo
cd demo
mkdir app
>.config
>.vimrc
>.bashrc
ls -a | egrep '^.'
ls
rm .vimrc
ls -a | egrep '^.'
rm -rfv /tmp/demo/.*

Delete or remove hidden files in Linux command

Getting rid of warning message rm: refusing to remove ‘.’ or ‘..’ directory: skipping

Simply add the following 2> /dev/null at the end of the rm command:
rm -rfv /dir/.* 2>/dev/null
rm -rfv /tmp/demo/.* 2>/dev/null

Sample outputs:

/dev/null is nothing but a special file that discards all data written to it. See the following for more info:

How to delete hidden files in Linux

One can use the find command to list or delete hidden files. The syntax is as follows:

See

A note about the GNOME desktop environment and hidden files

In GNOME’s file manager, the keyboard shortcut Ctrl+H enables or disables the display of hidden files. CTRL+H act as a toggle button to hide or show hidden dot files in the GNOME.

Gnome Hide or show hidden dot files
Gif.01: Gnome Hide or show hidden dot files using CTRL+H or options menu

Conclusion

This page explains how to remove hidden files in Linux or Unix-like operating systems. Further, it explained how to redirect output to avoid warning message while using the rm command.

Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Close