Ken*_*nny 33 filesystems partition directory terminology
我是 Linux 新手,请原谅您在这个问题中可能遇到的困惑。
据我了解,文件系统指定分区如何存储/管理文件,标准如 ext2、ext3、reiserfs、xfs 等。有时我看到人们似乎将每个“ directory”称为
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
Run Code Online (Sandbox Code Playgroud)
为什么我们将这些称为文件系统?
如果他们每个人都是一个分区,那会让我感到困惑,因为据我所知,/usr并且/usr/bin往往在同一个分区中,但我看到人们同时提到“/usr文件系统”和“/usr/bin文件系统”。
如果这里的文件系统相当于 Window 的目录,我不清楚,因为显然文件系统不仅仅是目录。另外,据我所知,Linux 没有“目录”的概念;都是文件。
Jde*_*eBP 17
正如我在https://superuser.com/a/293160/38062 中所写:
这里的问题是“文件系统”这个词。在 POSIX/Unix/Linux 世界中,它被用来表示几个不同的东西。
/操作系统内核并由操作系统内核呈现给应用软件。有了这个意思,例如,人们谈论具有“单一文件系统树”的 POSIX 操作系统。 /usr文件系统”。" /usr" 这里是卷的(预期)挂载点,或者(在某些分区方案中)它的标识标签。/proc”或“使用tmpfs文件系统的/tmp”。 当您看到“/usr/bin文件系统”时,您看到的含义是 #1 。它是一个以目录为根的文件系统树/usr/bin。是的,Linux确实有目录的概念。
含义#2 和含义#3 是您误读的内容。人们不是在谈论/usr/bin作为磁盘上数据集,由磁盘切片/分区划分。他们也不是在谈论/usr/bin特定类型的文件系统驱动程序或特定的磁盘卷格式。
les*_*nik 10
当然,Linux 使用目录的概念。目录的概念与 Windows 中的相同。
文件系统的概念也与 Windows 中使用的非常相似。Windows 通常使用 NTFS 或 FAT - Linux 通常使用 ext2、ext3、ext4 等,这就是所有的区别。
不同的是,在 Linux 中,来自所有可用分区的文件/目录被组织成一棵树。在 Windows 中,您使用字母 fe "a:"、"c:" 来指代不同的分区,在 Linux 中,任何可用文件的完整路径都以 "/" - 根目录开头。例如,硬盘上有一个单独的分区,其中包含用于引导系统的文件:您运行带有适当参数的“mount”命令,该分区的内容在“/boot/”路径中可用。所以,fe "/boot" 和 "/home" 路径可能指向不同分区上的数据,这些分区可能有不同的文件系统。可能造成了你的误会。
物理上位于同一分区的目录将始终“具有相同的文件系统”。当有人谈论某个目录的文件系统时,实际上是在谈论该目录所在分区的文件系统。
(次要且可能不重要的更正:有时文件系统是虚拟的,没有任何相应的分区。例如“/proc”包含一些看起来非常像文件的东西,但这些“文件”是虚拟的,它们不驻留在任何硬盘驱动器并包含有关正在运行的进程的信息。并且有一个特殊的“procfs”文件系统,它为这些数据提供了通常的类似文件的接口)
一个磁盘被分成一个或多个分区。对于 Windows,通常只有一个,可能有一个隐藏在某处的恢复分区。分区是磁盘逻辑上连续的区域,例如“扇区 1 到 10,000,000”。
在一个分区上可以建立一个文件系统。对于 Windows,这是 NTFS 或 FAT;对于 Linux,这是 ext版本之一或各种其他选项。
文件系统内部是文件和目录。Linux 有目录,我不知道你是怎么知道它没有目录的。
操作系统如何将多个磁盘上的多个分区呈现给用户?在Windows中,这是用做驱动器号:C:,D:等在Linux上,没有驱动器号和一切与完成安装点:在一个特定的目录,重新路由访问不同的文件系统(+)通常,如果你插入一张CD。或 USB 记忆棒 它会出现在/media或下的某处/mnt。
/usr并且/usr/bin通常位于同一个文件系统上,但不是必需的。人们/usr/bin在使用该短语时可能指的是“恰好包含目录的文件系统”。
(+) 您也可以使用 NTFS 连接点执行此操作,但人们很少这样做。直到它们用完驱动器号。
可以将整个 Linux 系统保存在一个分区上,而所有子目录都在一个文件系统上。
也可以将其分布在多个分区上,某些目录子树位于不同的文件系统上。例如,它的共同投入/home,/tmp,/usr,并/var在不同的文件系统。为了解决您的一个问题,有时/usr/bin也会在它自己的文件系统上。
这种方案有其优点。例如,如果/var填满了大量电子邮件,则系统的其余部分不受影响。同样,如果一个文件系统由于崩溃或其他原因损坏,其他文件系统仍然完好,并且更容易恢复系统。
当系统启动时,起初只有根文件系统可用。保存在那里的程序在引导过程中运行。其中一个程序mount使用文件/etc/fstab系统表中的数据运行多次
。举个例子:原本
/home只是根文件系统中的一个普通目录。然后我们以 root 身份运行这个命令:
mount /dev/sda7 /home
Run Code Online (Sandbox Code Playgroud)
这告诉系统分区上的文件系统/dev/sda7
应该安装在目录上/home。所以现在,该文件系统中的所有内容都被认为是在/home.
您可以通过运行查看当前安装的内容df。