Куда деваются файлы, если вы подключаете диск к папке, в которой уже есть файлы?

32

Я просто случайно подключил новый диск к папке, в которой уже были файлы. Мне плевать на них, и они есть где-то еще, но эта папка сейчас кажется пустой. Мне любопытно, что случилось с файлами. Они просто удалены Linux?

Т. Брайан Джонс
источник
Они никуда не уходят. Вы просто не можете их видеть.
Шадур
14
Они идут в то же место, куда идут персонажи из книг, когда вы их не читаете.
Эндрю Билс
5
Это одна из забавных функций / возможностей монтирования, которые я иногда использую / злоупотребляю, чтобы узнать состояние некоторых вещей. На некоторых точках монтирования (в каталоге) я оставлю пустой файл, not mountedчтобы, если я зайду в него, я сразу узнаю, что он не был смонтирован по какой-либо причине.
убийца

Ответы:

37

Просто "затененный" и будет там снова, когда не размонтирован. :)

На самом деле файлы «там» не повреждены, и если вам нужно получить к ним доступ сразу, без размонтирования, это можно обойти с помощью так называемого bindmount:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

Это работает (так), потому что когда вы просите ядро ​​смонтировать файловую систему к некоторой точке монтирования, ядро ​​рассматривает эту точку монтирования как «порт просмотра» для монтируемой вами файловой системы, поэтому ожидается, что вы увидите смонтированный контент FS там.

Но это не единственный способ, как эти «слои» ФС могут быть объединены в единый вид. Есть так называемый подход « монтирование » (забавно знать, что это «центральная концепция в Plan 9», кстати). В Linux вы можете использовать Aufs , которые никогда не пробивались в основное ядро, или, в настоящее время (с 3.18), OverlayFS - так и было .

poige
источник
21

Вновь смонтированная файловая система похожа на оверлей, который скрывает часть исходной файловой системы. Есть хитрость для доступа к файлам, например, bind mount, как описано в poige. В Linux мне лично нравится тот факт, что вы можете монтировать файловую систему более одного раза в разных точках монтирования. Таким образом , вы можете прекрасно смонтировать корневую файловую систему /, а также на /mnt. Это удобно при отладке потерянного места / потерянных файлов / подсчете использования диска / ...

Гоча:

  • Старые файлы все еще там и место . Распространенной ошибкой является «отсутствие» дискового пространства в файлах, скрытых при монтировании. Например, когда вы случайно записали большие файлы в каталог и когда-то решили смонтировать на нем файловую систему. Например, случайный запуск большой базы данных до того, как файловая система регистрации была правильно смонтирована ...
  • Когда в программе открыт файл, который впоследствии скрывается вновь смонтированной файловой системой, программа не будет об этом заботиться и будет успешно использовать «скрытый» файл, пока не закроет его. С этого момента этот файл становится невидимым для процесса, пока новая файловая система не будет размонтирована и базовый каталог не появится снова.
jippie
источник
Очень интересно, что вы можете монтировать файловую систему более одного раза. Такое ощущение, что это пригодится.
Т. Брайан Джонс