Posso ocultar arquivos para que fiquem ocultos no Windows e Linux?

11

Eu tenho meu computador configurado para usar a mesma pasta pessoal / perfil de usuário para Linux e Windows. Como conseqüência, tenho arquivos como NTUSER.DATesse ocultos no Windows que aparecem quando eu lse no meu gerenciador de arquivos. Existe alguma maneira de fazer o Linux ocultar os arquivos ocultos?

0x539
fonte
Você tem uma consequência secundária: o uso do NTFS para o diretório inicial do Linux interromperá as permissões do Linux porque o NTFS não as suporta.
Thomas Ward

Respostas:

19

Adicione os arquivos que deseja ocultar a um arquivo nomeado .hiddencom 1 arquivo por linha dentro do diretório em que esses arquivos estão. Algo assim ls {files} >.hiddenfuncionará para fazer isso rapidamente.

  • Você pode ocultar arquivos visualizados no Windows com C:\>attrib +h D:\*.hidden /S(isso ocultará o .hiddenarquivo do método anterior). O diretório que assumi D :.

  • Você pode ocultar esses arquivos lsno Linux adicionando isto ao seu ~./bashrc:

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

    Isso ocultará os arquivos ao usar lse lssomente. Também pressupõe que você ainda não possui um alias para ls. ls -lainda os mostrará, mas esse é apenas outro apelido.


O último comando que encontrei no superusuário . Voto por favor essa resposta;)

Rinzwind
fonte
3
Hmmm ... se eu entendi bem, o OP está pensando em usar um sistema de arquivos NTFS como diretório doméstico ... eles devem ler sua resposta aqui: askubuntu.com/questions/330356/…
Rmano
isso funcionará também para gerenciadores de arquivos gráficos?
0x539
Para o nautilus sim, apenas a 1ª parte é necessária para isso. A terceira parte é para linha de comando. Não tenho certeza sobre outros gerentes embora. O método .hidden pode ser o recurso Nautilus.
Rinzwind
attribfuncionará apenas em sistemas de arquivos NTFS / FAT.
Braiam
@Rinzwind Isso causa outros problemas: se você tentar executar ls -l bashpassa a -lbandeira para o las export:(
0x539