I am a new Linux user. How do I hide files and directories in Linux operating systems using the command line interface?

Introduction – In Linux and Unix-like systems, if a file or directory (folder) name starts with a period (.), then the file becomes hidden by default. To see all hidden files in Linux run ls -al command. This page shows how to hide files in Linux using various methods.

What is the difference between a hidden file and an ordinary file in Linux?

The main difference between a hidden file and an ordinary file is that the file name of a hidden file starts with a period or dot (.). Often known as dot files in Linux. The dot file is not a security feature. It is for your convenience and to reduce clutter in your home directory.

How to view hidden files in Linux

You can pass the -a options to the ls command to see hidden file:

ls -a
ls -al
ls -al | more
ls -al | grep 'bash'


How do I hide files and directories in Linux?


To hide a file or directory in Linux, rename it with a period (.) at the start of its name using the mv command. Say, you need to hide a file named foo.txt, run:

mv foo.txt .foo.txt


Verify by running the ls command:

ls -al 


Let us create a new file in Linux named foo.txt for demo purpose

$ echo "Isolation doesn't bother me at all. It gives me a sense of security."> foo.txt
$ ls
$ mv foo.txt .foo.txt
$ ls
$ ls -al


Look ma files are hidden in GUI file managers too

Open folder or directories in your GUI file manager. Press CTRL+H to see or hide hidden files along with regular files.


How do I hide folders/directories in Linux?

Use the mv command by adding a . at the beginning of the directory name:

mv -v my-folder .my-folder
mv -v dir1 .dir1
mv -v dir2 .newdir2 


How do I unhide a file or folder in Linux?

To unhide a file called .foo.txt, rename it to foo.txt i.e. remove a dot/period . at the beginning of its name:

ls -la
mv -v .foo.txt foo.txt
mv -v .dir1 dir1
mv -v .newdir2 dir2
ls -l


How to hide and password protect my files

To encrypt a single file, use the gpg command as follows:

gpg -c foo.txt 


Now hide it:

mv -v foo.txt.gpg .foo.txt.gpg


Delete the original file in Linux using the rm command:

rm foo.txt
ls -la


To decrypt file use the gpg command again as follow:

gpg --output foo.txt --decrypt .foo.txt.gpg
rm .foo.txt.gpg 


How to compress and protect a folder in Linux using a password


Use the tar command to compress the whole folder named dir1 in the current working directory:

tar -cz dir1 | openssl enc -aes-256-cbc -e > dir1.tar.gz.enc


Hide it:

mv -v dir1.tar.gz.enc .dir1.tar.gz.enc


Delete the original directory in Linux using the rm command:

rm -rf dir1


To decrypt, run:

openssl enc -aes-256-cbc -d -in dir1.tar.gz.enc | tar xz



 This page demonstrated various ways to hide and use a password to protect files in Linux.


Was this answer helpful? 0 Users Found This Useful (0 Votes)