Если я пытаюсь смонтировать папку, в которой уже есть файлы, выдаст ли мне 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
махинаций.