Jeśli spróbuję zamontować folder, w którym są już pliki, czy linux wyświetli komunikat o błędzie, czy też pokaże zarówno podłączony system plików, jak i pliki, które już były w folderze?
Jeśli spróbuję zamontować folder, w którym są już pliki, czy linux wyświetli komunikat o błędzie, czy też pokaże zarówno podłączony system plików, jak i pliki, które już były w folderze?
Odpowiedzi:
Zostanie po prostu zamontowany, a pliki znikną, wracając, gdy folder zostanie podłączony.
Po zamontowaniu systemu plików w katalogu /mount-point
nie można już uzyskać /mount-point
bezpośredniego dostępu do plików w katalogu . Nadal istnieją, ale /mount-point
teraz odnoszą się do katalogu głównego zamontowanego systemu plików, a nie do katalogu, który służył jako punkt podłączenia, więc zawartość tego katalogu nie jest dostępna, przynajmniej w ten sposób. Na przykład:
# 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
Istnieją sposoby uzyskania scalonego widoku zamontowanego systemu plików i danych, które już były obecne, ale potrzebujesz dodatkowej warstwy zwanej unijnym systemem plików .
Pod Linuksem istnieje sposób, aby zobaczyć ukryte pliki. Możesz użyć, mount --bind
aby uzyskać inny widok systemu plików, w którym znajduje się punkt montowania. Na przykład
mount --bind / /other-root-view
Zobaczysz wszystkie pliki w głównym systemie plików pod /other-root-view
.
# cat /other-root-view/etc/hostname
darkstar
W szczególności /mount-point
będzie teraz dostępny jako /other-root-view/mount-point
, a ponieważ /other-root-view/mount-point
nie jest punktem montowania, możesz tam zobaczyć jego zawartość:
# 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/
zamontowałem inny system plików /mount-point/
, czy nadal mogę uzyskać dostęp /mount-point/1/
?
mkdir /r; mount --bind / /r; du -sh /r/*
. Dzięki
du -x
(odpowiednik du --one-file-system
) zrobiłby to bez potrzeby --bind
shenaniganów.