了解文件系统的挂载

4 linux filesystems

我是 linux 新手,想检查一下我对挂载/文件系统如何工作的理解。我阅读了相关的联机帮助页,但只是想确定一下。

我有一个分区,比如 /dev/sda5,它当前使用各种子目录挂载到 /home。我的理解是,这意味着 /dev/sda5 有自己的可移植文件系统,可以移动到主文件系统中的任何位置。

问题:

如果我卸载的/ dev / SDA5从/家(# umount /home),然后将其安装到/ var / WWW /(里面是空的),( # mount -t ext3 /dev/sda5 /var/www)和替换fstab的项目,与/dev/sda5 /var/www ext3 defaults,noatime,nodev 1 2# mount -a

Q1)现在可以在 /var/www/ ( i.e. /home/username -> /var/www/username)下访问 /home 的所有内容吗?

Q2)来自 /home 文件系统的所有权限是否在这个新位置保持完整?

还有什么我应该关心的吗?只是想确保我不会擦拭/损坏任何东西。来自 Windows 的文件系统架构需要习惯(尽管我喜欢灵活性!)。

Kyl*_*ndt 5

具体问题:
1.是的,他们应该假设此人具有进入该目录所需的目录权限。(更多关于我的这个答案中的目录权限)。
2.是的,应该是完整的,因为所有权是存储在该特定文件系统上的 uid/gid 号。

单树与森林:
就来自 Windows 而言,主要区别在于一棵大树与森林。在windows中,每个驱动器的根,一个字母,是它自己的树结构。由于可以有多个驱动器,因此您最终会得到一个“森林”(许多树)。在 Unix 中 / 是一棵树的根,在每台机器上只有一棵树。

要记住的其他一些(可能是随机的)事情:

  • 在 Unix 中,有“一切都是文件”的哲学。所以设备、目录和套接字都表示为文件。
  • 代表文件的名称(例如“foo”)实际上是指向该文件的链接。您可以将多个名称(链接)映射到该文件。这些涉及类型、硬链接和符号链接。硬链接只能指向存在于同一文件系统上的文件,符号链接可以指向其他文件系统上的文件。
  • 您实际上可以在非空目录上挂载文件系统(尽管现在可能会对此发出警告)。这些最终会“隐藏”(而不是覆盖)您挂载的文件,但它们不会被覆盖。这些被称为“覆盖安装”。
  • 这只是让您有点困惑:-) 您实际上可以创建一个本身就是文件系统的文件,然后使用环回设备将其作为新文件系统挂载到其他地方。这有点像在 Windows 中使用守护程序工具来挂载 ISO 映像。

最后,顺便说一句,听起来您正在努力从 Windows 背景中学习 *nix,我认为这是一件值得尊敬的事情(其他方式也一样)。