12

I have my computer set up to use the same home folder / user profile for Linux and Windows. As a consequence I have files like NTUSER.DAT that are hidden on Windows showing up when I ls and in my file manager. Is there any way to make Linux hide the hidden files?

Braiam
  • 69,112
0x539
  • 278

1 Answers1

21

Add the files you want to hide to a file named .hidden with 1 file per line inside the directory those files are. Somehing like ls {files} >.hidden will work to quickly do this.

  • You can hide files looking from Windows with C:\>attrib +h D:\*.hidden /S (this will hide the .hidden file from the previous method). The directory I assumed D:.

  • You can hide these files from ls on Linux by adding this into your ~./bashrc:

    ls () {
      if [ -f .hidden ]; then
        declare GLOBIGNORE="$GLOBIGNORE:.*:$(tr '\n' ':' < .hidden)"
        ls "$@"
      fi
    }
    

    This will hide the files when using ls and ls only. It also assumes you do not already have an alias for ls. ls -l will still show them but that is just another alias.


The last command I found on superuser. Please upvote that answer ;)

Rinzwind
  • 309,379