Если я пытаюсь смонтировать папку, в которой уже есть файлы, выдаст ли мне linux сообщение об ошибке или покажет как смонтированную файловую систему и файлы, которые уже были в этой папке?
Если я пытаюсь смонтировать папку, в которой уже есть файлы, выдаст ли мне linux сообщение об ошибке или покажет как смонтированную файловую систему и файлы, которые уже были в этой папке?
Ответы:
Он будет просто смонтирован, и файлы исчезнут, вернувшись, когда папка будет размонтирована.
Когда вы монтируете файловую систему в каталоге /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
/mount-point/1/другой файловой системе /mount-point/, если я смонтировал ее /mount-point/1/?
mkdir /r; mount --bind / /r; du -sh /r/*. Спасибо
du -x(эквивалентно du --one-file-system) сделал бы это без необходимости --bindмахинаций.