Puis-je masquer des fichiers afin qu'ils soient masqués à la fois sur Windows et Linux?

11

J'ai mon ordinateur configuré pour utiliser le même dossier de départ / profil utilisateur pour Linux et Windows. Par conséquent, j'ai des fichiers comme NTUSER.DATcelui-ci qui sont cachés sous Windows et qui apparaissent lorsque moi lset dans mon gestionnaire de fichiers. Existe-t-il un moyen de faire masquer à Linux les fichiers cachés?

0x539
la source
Vous avez une conséquence secondaire: l'utilisation de NTFS pour votre répertoire personnel Linux rompra les autorisations Linux car NTFS ne les prend pas en charge.
Thomas Ward

Réponses:

19

Ajoutez les fichiers que vous souhaitez masquer à un fichier nommé .hiddenavec 1 fichier par ligne dans le répertoire de ces fichiers. Quelque chose comme ça ls {files} >.hiddenfonctionnera pour le faire rapidement.

  • Vous pouvez masquer les fichiers à partir de Windows avec C:\>attrib +h D:\*.hidden /S(cela masquera le .hiddenfichier de la méthode précédente). Le répertoire que j'ai supposé D :.

  • Vous pouvez masquer ces fichiers lssous Linux en les ajoutant dans votre ~./bashrc:

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

    Cela masquera les fichiers lors de l'utilisation lset lsuniquement. Cela suppose également que vous n'avez pas encore d'alias pour ls. ls -lva toujours les montrer, mais ce n'est qu'un autre alias.


La dernière commande que j'ai trouvée sur le superutilisateur . Veuillez voter pour cette réponse;)

Rinzwind
la source
3
Hmmm ... si je comprends bien, l'OP pense utiliser un système de fichiers NTFS comme répertoire personnel
Rmano
cela fonctionnera-t-il également pour les gestionnaires de fichiers graphiques?
0x539
Pour nautilus oui, seule la 1ère partie est nécessaire pour cela. La 3ème partie est pour la ligne de commande. Je ne suis pas sûr des autres managers. La méthode .hidden peut être la fonction Nautilus.
Rinzwind
attribne fonctionnera que sur les systèmes de fichiers NTFS / FAT.
Braiam
@Rinzwind Il provoque cependant d'autres problèmes: si vous essayez d'exécuter, ls -l bashpasse le -ldrapeau au las export:(
0x539