Skip to main content

Hiding a file or directory under Linux


Hiding a file or directory under Linux
To hide a file or directory in Linux, just give it a name preceded by a full stop (.).


For example:
. bash_history
. bash_profile
. ssh 

 
Hide UNIX file structure
 
1. Open a terminal and execut "ls -1 / | sudo tee /.hidden"

2. Do "sudo chmod a+r .hidden"

3. If you want all standard files hidden, skip to 5. Otherwise. Open the file with "sudo gedit /.hidden".

4. Remove every directory you don't want to hide from the file. Here's how mine looks like, as an example:

bin
boot
opt
usr
etc
sys
tmp
srv
proc
root
sbin
lib
lost+found
mnt
initrd
dev
debootstrap
var
cdrom
initrd.img
initrd.img.old
vmlinuz
vmlinuz.old
home
media


5. Now, let's create some entries that are easier for new users: select "home" and create a link to link to it (for example, by dragging it and holding <ctrl>+<shift>. Your mouse cursor should show two linked circles when dragging while holding them, if they do you're creating a link). Rename that link to "User Data" or something similar. Do the same with media; rename it to "Drives" or "Media" or what you want. (If the files are already hidden. show them with <ctrl>-<h>.)

6. If you want to have a discoverable way to some or all of the now hidden files, create a folder called "System Data". Create links to all the other files and directories there.

7. You're done! :) Update an open Nautilus with <ctrl>-<r>, or restart it with "killall nautilus".

I attached a screenshot of how it looks like.

Now, some anticipated FAQs:

Q: Won't this royally screw my system?
A: I see no reson why it should. Everything is still in it's original place, only no longer visible by default. It definitely works fine here and on several other Ubuntu installations.

Q: Are there any negative side effects?
A: Not that I know of. From the command line, everything stays the same. If you encounter any problem, please tell me!

Q: I want to access one of the hidden folders. How do I do that?
A: View -> Show Hidden Files. Or press <ctrl>-h

Q: I don't like this! How can I undo it?
A: Simple, just remove the .hidden file. Delete the links you created in step 5 and 6 if you want, or leave them there. Just make sure you don't accidentally delete the original folders. :)

Q: Can I have all the files shown automatically if I have a sudo'd nautilus?
A: Certainly. Make sure that the .hidden file is owned by root (should be automatically), then, in the permissions tab, disallow read access for the owner.

Q: Can I do that .hidden stuff in other directories too?
A: Yes. It's a pretty cool feature.

Q: Are there any limitations to this?
A: Yes, the file selector (ie open dialog) will still show all the files. The .hidden file currently only applies to Nautilus.

Comments

Popular posts from this blog

Basic shell scripting part 1

What is $*? Its mainly used for showing up all params. This show all parameter values passed in shell script What does $# stand for? # will return the number of parameters that are passed as the command-line arguments. What does $? Return? $? will return exit status of command .0 if command gets successfully executed ,non-zero if command failed. What are Different types of shells? sh : the oldest shell  csh : C shell  ksh : Korn Shell  bash : bourne again shell  How do you read arguments in a shell program – $1, $2? Shell script accepts parameters in following format…  $1 would be the first command line argument, $2 the second, and so on  $0 is the name of the script or function If your script has more than 9 params then accept in following way…  ${12} : 12th param  ${18} : 18th param What are the different kinds of loops available in shell script ? for, if, while, case What is the difference...

Linux and Maven Commands

Maven mvn -Dmaven.test.skip=true -e clean install mvn clean install mvn clean install -Dmaven.test.skip=true Linux: telnet mq.dev.sum.org  9012 telnet <machine_IP> <port> Sudo su Su - sudo -u dev2adm  -i ps -ef|grep jboss Find a folder Just find directories and skip file names pass the  -type d  option as follows: find   / - type d -name "apt" - ls locate httpdocs Delete latest 3 files: rm -f $(ls -1t ./ | head -3)   working fine ls -d -1tr /path/to/folder/* | head -n -10 | xargs -d '\n' rm -f rm -f $(ls -1t ./ | tail -n +4) netstat -ln | grep '80 ' | grep 'LISTEN' netstat -atnp|grep LISTEN  netstat -ln | grep '99 ' | grep 'LISTEN'  netstat -ln | grep '16'  scp -pr Services-0.0.2-SNAPSHOT.war sbiswas@172.1.8.141:/home/sbiswas tail -f /tmp/Liferay-JBoss.out |grep 'PAGENAME\|tabName' grep 'PAGENAME\|tabName'  for multiple se...

SED COMMAND TO DELETE LINES IN FILE

Sed Command to Delete Lines : Sed command can be used to delete or remove specific lines which matches a given pattern or in a particular position in a file. Here we will see how to delete lines using sed command with various examples. The following file contains a sample data which is used as input file in all the examples: > cat file linux unix fedora debian ubuntu SED COMMAND TO DELETE LINES - BASED ON POSITION IN FILE In the following examples, the sed command removes the lines in file that are in a particular position in a file. 1.  Delete first line or header line The d option in sed command is used to delete a line. The syntax for deleting a line is: > sed 'Nd' file Here N indicates Nth line in a file. In the following example, the sed command removes the first line in a file. > sed '1d' file unix fedora debian ubuntu 2.  Delete last line or footer line or trailer line The following sed comm...