Wenn ich versuche, einen Ordner zu mounten, in dem sich bereits Dateien befinden, gibt Linux eine Fehlermeldung aus oder zeigt es das gemountete Dateisystem und die Dateien an, die sich bereits im Ordner befinden?
Wenn ich versuche, einen Ordner zu mounten, in dem sich bereits Dateien befinden, gibt Linux eine Fehlermeldung aus oder zeigt es das gemountete Dateisystem und die Dateien an, die sich bereits im Ordner befinden?
Antworten:
Es wird nur gemountet und die Dateien verschwinden, wenn der Ordner nicht gemountet wird.
Wenn Sie ein Dateisystem in ein Verzeichnis mounten /mount-point
, können Sie nicht mehr /mount-point
direkt unter auf Dateien zugreifen . Sie sind noch vorhanden, /mount-point
beziehen sich aber jetzt auf das Stammverzeichnis des bereitgestellten Dateisystems und nicht auf das Verzeichnis, das als Bereitstellungspunkt diente, sodass auf den Inhalt dieses Verzeichnisses zumindest auf diese Weise nicht zugegriffen werden kann. Zum Beispiel:
# 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
Es gibt verschiedene Möglichkeiten, eine zusammengeführte Ansicht des bereitgestellten Dateisystems und der bereits vorhandenen Daten zu erhalten. Sie benötigen jedoch eine zusätzliche Ebene, das so genannte Unionsdateisystem .
Unter Linux gibt es eine Möglichkeit, die versteckten Dateien anzuzeigen. Mit können Sie mount --bind
eine andere Ansicht des Dateisystems abrufen, in dem sich der Einhängepunkt befindet. Zum Beispiel
mount --bind / /other-root-view
Sie sehen alle Dateien im Root-Dateisystem unter /other-root-view
.
# cat /other-root-view/etc/hostname
darkstar
Insbesondere /mount-point
wird jetzt zugänglich sein /other-root-view/mount-point
, und da /other-root-view/mount-point
es sich nicht um einen Mount-Punkt handelt, können Sie seinen Inhalt dort sehen:
# 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/
anderes Dateisystem /mount-point/
zugreifen, wenn ich es bei eingehängt habe /mount-point/1/
?
mkdir /r; mount --bind / /r; du -sh /r/*
. Thanks
du -x
(äquivalent zu du --one-file-system
) hätte das ohne die Notwendigkeit von --bind
Spielereien getan.