How to hide files and directories in Linux nixCraft

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'

Linux / Unix: Find And List All Hidden Files Recursively
Linux / Unix: Find And List All Hidden Files Recursively

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
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

How to hide files and directories in Linux using a period
Click to enlarge

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.

Show all hidden files in GUI
Show or hide all hidden files by pressing CTRL+H in Linux

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

Hide file and secure with a password using gpg in Linux
To decrypt file use the gpg command again as follow:
gpg --output foo.txt --decrypt .foo.txt.gpg
rm .foo.txt.gpg

For more information see my post “Linux Encrypt And Decrypt Files With A Password“.

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
Hide and Compress directories with a password in Linux

RelatedHow do I Compress a Whole Linux or UNIX Directory?

Conclusion

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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Posted by Web Monkey

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.