Introduction
Linux, by default, hides many of the sensitive system files. Hidden files are usually system or application files, concealed to prevent accidental changes.
This guide will show you how to display and work with hidden files in Linux.
Prerequisites
- A system running Linux
- Access to a terminal window / command line (optional)
Note: Some directories require administrator, root, or sudo privileges to access. Depending on the files you want to access, you may need to switch users or use the sudo
command.
How to Show Hidden Files
Show Hidden Files From the Command Line
To display all the files in a directory, including hidden files, enter the following command:
ls –a
The ls
command lists the contents of the current directory. The –a
switch lists all files – including hidden files.
To list regular and hidden files in a different directory than your current working location:
ls –a /etc
Replace /etc
with any other directory.
Show Hidden Files in a Graphical Interface (GUI)
There’s a simple method to show hidden files if you’re more comfortable working in Gnome (or any other graphical interface).
1. First, browse to the directory you want to view.
2. Then, press Ctrl+h
.
If Ctrl+h
doesn’t work, click the View menu, then check the box to Show hidden files.
Note: Ctrl+h
works in newer Ubuntu and CentOS environments. If you’re running an older or different version, it may not work.
How to Hide Files
Hide File or Directory Using the Linux Command Line
To mark a file as hidden, use the mv
(move) command.
1. First, create a test file. Use the touch command to create an empty test.txt
file:
touch test.txt
2. Then, hide the file by moving it under a new filename. The period (.) at the beginning of the new filename indicates that it’s hidden:
mv test.txt .test.txt
3. To verify the file is now hidden, display the contents of the current directory:
ls
4. Now, list the contents, including hidden files:
ls –a
You should see test.txt in the second listing.
Note: The process is entirely the same for directories. Use the mv
command with a period (.) at the beginning of the new directory name.
Hide a File in a Graphical Interface (GUI)
You can also mark a file as hidden using a graphical interface.
1. Right-click the file you want to hide.
2. Then, select Rename.
3. Make the file hidden by placing a period at the beginning of the filename.
Use the same process to hide a directory.
How to Create Password-Protected Hidden Files
Create Password-Protected, Hidden File From the Command Line
1. To create a hidden and password-protected archive file from the command line, start by creating a new text file:
touch test2.txt
2. Next, compress and encrypt that file:
zip ––encrypt test2.zip test2.txt
3. You’ll be asked to enter and confirm a password for the file.
4. Then, use the ls
command – you should see test2.zip in the file list.
5. Next, set the .zip file to hidden by entering:
mv test2.zip .test2.zip
6. Finally, use ls
and ls –a
to confirm and verify the file is hidden.
Create a Hidden, Password-Protected File From the Graphical Interface
Encrypting a file requires more steps in the graphical version of Linux.
1. Start by opening the File Manager to your home directory.
2. Right-click an empty area, then click New Folder (a folder and a directory are the same things).
3. Name the folder test3 and click Create.
4. Next, click Activities > Search > type archive manager > launch the Archive Manager.
5. Drag and drop the new test3 folder into the Archive Manager window.
6. The system will ask: Do you want to create an archive with these files? Click Create Archive.
7. In the Create Archive dialog box, the filename should be test3. Just to the right, click the drop-down and select the .zip format.
8. Click Other options near the bottom. Type a password to use for your archive, then click Save.
9. Close the Archive Manager. You should now see a test3.zip file in the home directory.
10. Right-click the test3.zip file, click Rename, and add a period at the beginning of the filename.
Conclusion
You should now be able to show and hide hidden files in Linux. These commands can be especially useful if you need to find configuration files.
Also, you can find web browser data, certain application caches, and logs stored in hidden files.