Czy mogę ukryć pliki, aby były ukryte zarówno w systemie Windows, jak i Linux?

11

Mam skonfigurowany komputer do korzystania z tego samego folderu domowego / profilu użytkownika w systemach Linux i Windows. W rezultacie mam takie pliki, NTUSER.DATktóre są ukryte w systemie Windows, pokazując się, kiedy ja lsi mój menedżer plików. Czy jest jakiś sposób, aby Linux ukrył ukryte pliki?

0x539
źródło
Masz drugorzędną konsekwencję: użycie NTFS w katalogu domowym Linuksa złamie uprawnienia Linuksa, ponieważ NTFS ich nie obsługuje.
Thomas Ward

Odpowiedzi:

19

Dodaj pliki, które chcesz ukryć, do pliku o nazwie .hiddenz 1 plikiem w linii w katalogu, w którym znajdują się te pliki. Coś takiego ls {files} >.hiddenzadziała, aby szybko to zrobić.

  • Możesz ukryć pliki wyglądające z systemu Windows za pomocą C:\>attrib +h D:\*.hidden /S(spowoduje to ukrycie .hiddenpliku z poprzedniej metody). Katalog, który założyłem D :.

  • Możesz ukryć te pliki przed lsLinuksem, dodając to do ~./bashrc:

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

    Spowoduje to ukrycie plików podczas używania lsi lstylko. Zakłada również, że nie masz jeszcze aliasu dla ls. ls -lnadal je pokaże, ale to tylko kolejny alias.


Ostatnie polecenie, które znalazłem na superużytkowniku . Proszę upvote że odpowiedź;)

Rinzwind
źródło
3
Hmmm ... jeśli dobrze rozumiem, OP myśli o użyciu systemu plików NTFS jako katalogu
Rmano
czy to zadziała również dla graficznych menedżerów plików?
0x539,
W przypadku Nautilus tak, potrzebna jest tylko pierwsza część. Trzecia część dotyczy wiersza poleceń. Nie jestem jednak pewien co do innych menedżerów. Ukryta metoda może być funkcją Nautilusa.
Rinzwind,
attribbędzie działać tylko w systemach plików NTFS / FAT.
Braiam
@Rinzwind Powoduje to jednak inne problemy: jeśli spróbujesz uruchomić, ls -l bashprzekazuje -lflagę do lasu export:(
0x539