Могу ли я скрыть файлы, чтобы они были скрыты как в Windows, так и в Linux?

11

Мой компьютер настроен на использование одной и той же домашней папки / профиля пользователя для Linux и Windows. Как следствие, у меня есть такие файлы NTUSER.DAT, которые скрыты в Windows, когда я lsи в моем файловом менеджере. Есть ли способ заставить Linux скрыть скрытые файлы?

0x539
источник
У вас есть вторичное последствие: использование NTFS для вашего домашнего каталога Linux нарушит права Linux, поскольку NTFS их не поддерживает.
Томас Уорд

Ответы:

19

Добавьте файлы, которые вы хотите скрыть, в файл .hiddenс 1 файлом в строке внутри каталога, в котором находятся эти файлы. Что-то вроде ls {files} >.hiddenбудет работать, чтобы быстро сделать это.

  • Вы можете скрыть файлы, выглядящие из Windows с помощью C:\>attrib +h D:\*.hidden /S(это скроет .hiddenфайл из предыдущего метода). В каталоге я предположил D :.

  • Вы можете скрыть эти файлы lsв Linux, добавив это в ~./bashrc:

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

    Это будет скрывать файлы при использовании lsи lsтолько. Также предполагается, что у вас еще нет псевдонима для ls. ls -lпокажет их, но это просто еще один псевдоним.


Последняя команда, которую я нашел на суперпользователя . Пожалуйста, подтвердите этот ответ;)

Rinzwind
источник
3
Хммм ... если я хорошо понимаю, ОП думает, используя файловую систему NTFS в качестве домашней директории
Rmano
это будет работать и для графических файловых менеджеров?
0x539 26.12.15
Для наутилуса да, для этого нужна только 1-я часть. 3-я часть для командной строки. Не уверен насчет других менеджеров, хотя. Скрытый метод может быть функцией Nautilus.
Rinzwind
attribбудет работать только на файловых системах NTFS / FAT.
Брайам
@Rinzwind Это вызывает другие проблемы, хотя: если вы пытаетесь запустить, ls -l bashпередает -lфлаг в las export:(
0x539 28.12.15