Se eu tentar montar uma pasta que já possui arquivos, o linux me fornecerá uma mensagem de erro ou continuará mostrando o sistema de arquivos montado e os arquivos que já estavam na pasta?
Se eu tentar montar uma pasta que já possui arquivos, o linux me fornecerá uma mensagem de erro ou continuará mostrando o sistema de arquivos montado e os arquivos que já estavam na pasta?
Respostas:
Ele será montado e os arquivos desaparecerão, voltando quando a pasta for desmontada.
Ao montar um sistema de arquivos em um diretório /mount-point
, não é mais possível acessar os arquivos /mount-point
diretamente. Eles ainda existem, mas /mount-point
agora se referem à raiz do sistema de arquivos montado, não ao diretório que serviu como ponto de montagem, portanto, o conteúdo desse diretório não pode ser acessado, pelo menos dessa maneira. Por exemplo:
# 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
Existem maneiras de obter uma visão mesclada do sistema de arquivos montado e dos dados que já estavam presentes, mas você precisa de uma camada extra chamada sistema de arquivos da união .
No Linux, há uma maneira de ver os arquivos ocultos. Você pode usar mount --bind
para obter outra visão do sistema de arquivos onde está o ponto de montagem. Por exemplo
mount --bind / /other-root-view
Você verá todos os arquivos no sistema de arquivos raiz em /other-root-view
.
# cat /other-root-view/etc/hostname
darkstar
Em particular, /mount-point
agora estará acessível como /other-root-view/mount-point
e, como /other-root-view/mount-point
não é um ponto de montagem, você poderá ver seu conteúdo lá:
# 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/
e montei outro sistema de arquivos /mount-point/
, ainda posso acessar /mount-point/1/
?
mkdir /r; mount --bind / /r; du -sh /r/*
. Obrigado
du -x
(equivalente a du --one-file-system
) teria feito isso sem a necessidade de --bind
travessuras.