18 在Linux中,是否有一种方法可以访问在子目录中挂载另一个文件系统时已“隐藏”的已挂载文件系统中的文件? 例如 cd / mkdir /foo touch /foo/bar mount /dev/sda1 /foo # now, can I still get to /foo/bar on the / filesystem? 我梦s以求的解决方案不需要提升的权限或特定于特定的文件系统,但是我将尽我所能获得所有报废,而不会冒险损坏文件系统。 linux mount — 特梅尔 source
28 您可以使用mount命令访问基础文件系统。 $ mkdir /mnt/root $ sudo mount --bind / /mnt/root $ cat /mnt/root/foo/bar 这样做没有损坏问题,但确实需要安装文件系统的权限。 — 保罗 source +1,我认为这mount --bind就是答案。但是我不确定。 — Dan D. 1 +0.95,我完全忘记了默认情况下绑定是非递归的。但是,上一次我在其他地方绑定安装/时,如果不重新引导就无法卸载它。可能是某些GUI组件在抓取它。你测试过了吗? — user1686 '02 谢谢!我想了一会儿绑定绑定,但是以为它们会基于路径名重写工作,因此是递归的…… — themel 2012年
5 如果您具有root用户,则可以mount --move将挂载的文件系统放在临时目录的顶部,然后再将其移回。 mkdir /bar mount --move /foo /bar 具有root用户还可以直接访问基础块设备(如果有)。对于ext4,您可以使用debugfs导出文件。 只读访问永远不会破坏文件系统。 目录可以具有为其获取的句柄或文件描述符。“当前目录”也是句柄,而不是路径。如果您具有目录的句柄,则即使该位置已被挂载,也可以访问其中的文件。这不需要特殊的特权,只需要特殊的准备。 — 用户名 source
mount --bind
就是答案。但是我不确定。