/ proc,/ usr,/ var,/ home称为文件系统。
这意味着什么?我以为只有一个文件系统(例如ext4)。
/ proc,/ usr,/ var,/ home称为文件系统。
这意味着什么?我以为只有一个文件系统(例如ext4)。
Answers:
术语“文件系统”具有多种含义。当人们谈论文件系统名称(例如ext4,UFS,NTFS等)时,他们会想到底层数据存储的组织(就媒体上的块而言)。这样的“文件系统”通常需要驱动程序访问存储在用该文件系统格式化的媒体上的数据。在,或的情况下/proc
,某些文件系统仅指目录结构。/usr
root file system
从技术上讲,在Linux中,任何目录都可以是文件系统的安装点。这使您可以根据存储信息的性质和安全性要求,为各个目录选择最佳的文件系统类型(ext4,ufs,xfs等)。
我相信在您的情况下,这些目录称为“文件系统”,因为它们通常用作单个文件系统的安装点。/proc
始终是procfs
伪文件系统的安装点,该伪文件系统以类似于文件的分层结构形式显示有关进程的信息和其他系统信息。
有哪些可以被认为是文件系统的几个目录:/dev
,/sys
和/tmp
。
/ proc是一个非常特殊的文件夹,它不存储在磁盘上,而是存储在内存中,用于提供有关系统(CPU,RAM,设备..)的信息。因此,它使用称为procfs的特殊文件系统(不是ext4)。您可以在Wikipedia上阅读更多信息:procfs
而是/ usr,/ var和/ home通常(至少在台式计算机上)存储在同一文件系统(例如ext4)上,并且通常存储在同一磁盘上:它们是常规文件夹,具有特定含义。总是在Wikipedia上可以找到有关Filesystem Hierarchy Standard的详细信息。
它们并不是真正的“文件系统”,但是本段有助于说明这种命名用法(来自FHS 2.3参考资料):
要引导系统,根分区上必须有足够的空间来挂载其他文件系统。这包括实用程序,配置,引导加载程序信息和其他重要的启动数据。/ usr,/ opt和/ var的设计使其可以位于其他分区或文件系统上。
/proc
但不能解释/usr
,/var
或者/home
。
您可以将文件系统视为允许在数据存储设备中创建文件的结构。该设备例如是硬盘分区,RAM或USB记忆棒。文件系统类型是用于在文件系统中存储数据的格式,例如ext4,vfat或许多其他文件。文件系统(设备)可以作为目录(文件夹)挂载,也称为挂载点。
要运行操作系统,您必须具有安装操作系统的根文件系统。它在引导过程中以/(根)挂载,所有其他文件系统都在其下挂载。从您提供的示例中,/ usr和/ var可以是根文件系统的一部分,也可以是单独的文件系统(与/相同或不同的驱动器中的不同分区)。如果是单独的文件系统,它们甚至可以是不同于/的文件系统类型(我认为!)。另一方面,/ proc是RAM(也称为RAM磁盘)中的文件系统,具有自己的类型,且具有相同的名称proc。
终端上的mount命令为您提供有关所有已安装文件系统的信息:设备,安装点,类型。例如:
user@box:~$ mount
/dev/sda7 on /home type ext3 (rw,relatime,errors=remount-ro,commit=0)
proc on /proc type proc (rw)
这意味着我已经将分区sda7挂载为/ home(包含我所有的宝贵数据!),并且使用ext3类型进行了格式化;设备proc安装在类型为proc的/ proc上。还提供了每个文件系统的权限(rw等)。
最后一点:文件系统通常由挂载点引用。也就是说,在上面的示例中,我可以说设备sda7是我的/ home文件系统。尽管大多数人都清楚这不是严格正确的做法:这意味着文件系统旨在通过安装点/ home进行安装。但是没有什么阻止我在sda7中将文件系统挂载在/ work,/ hotel或/ sunny_beach下的。实际上,原始数据也可以直接在/ dev / sda7下(已挂载或已挂载)访问,而无需了解底层文件系统。当文件系统无法安装但设备仍可读取时,这对于文件系统损坏的数据恢复很有用。但是,这种直接访问可能会造成灾难性的后果,应仅在特殊情况下使用。