Если я пытаюсь смонтировать папку, в которой уже есть файлы, выдаст ли мне linux сообщение об ошибке или покажет как смонтированную файловую систему, так и файлы, которые уже были в этой папке?
2 ответа
Когда вы монтируете файловую систему в каталог /mount-point
, вы больше не можете обращаться к файлам в /mount-point
напрямую. Они все еще существуют, но /mount-point
теперь относится к корню смонтированной файловой системы, а не к каталогу, который служил точкой монтирования, поэтому доступ к содержимому этого каталога невозможен, по крайней мере, таким способом. Например:
# touch /mount-point/somefile
# ls /mount-point/somefile
/mount-point/somefile
# mount /dev/something /mount-point
# ls /mount-point/somefile
ls: cannot access /mount-point/somefile: No such file or directory
Есть способы получить объединенное представление смонтированной файловой системы и данных, которые уже присутствовали, но вам нужен дополнительный слой, называемый объединенной файловой системой.
Под Linux есть способ увидеть скрытые файлы. Вы можете использовать mount --bind
чтобы получить другое представление о файловой системе, где находится точка монтирования. Например
mount --bind / /other-root-view
Вы увидите все файлы в корневой файловой системе в /other-root-view
.
# cat /other-root-view/etc/hostname
darkstar
В частности, /mount-point
теперь будет доступен как /other-root-view/mount-point
, а поскольку /other-root-view/mount-point
не является точкой монтирования, вы можете увидеть ее содержимое там:
# ls /mount-point/somefile
ls: cannot access /mount-point/somefile: No such file or directory
# ls /other-root-view/mount-point/somefile
/other-root-view/mount-point/somefile
Он будет просто смонтирован, и файлы исчезнут, вернувшись, когда папка будет размонтирована.