在 Linux 中提到设备时,我听说过“挂载”这个词。它的实际意义是什么?与旧版本不同,它现在如何处理?
我没有通过命令行手动完成。你能给出在 Linux 中挂载一个简单设备的步骤(命令)吗?
我了解 Linux 中的挂载是什么,我了解设备文件。但是我不明白为什么我们需要挂载。
例如,如this question的接受答案中所述,使用以下命令:
mount /dev/cdrom /media/cdrom
Run Code Online (Sandbox Code Playgroud)
我们正在安装 CDROM 设备/media/cdrom
并最终能够使用以下命令访问 CDROM 的文件
ls /media/cdrom
Run Code Online (Sandbox Code Playgroud)
这将列出 CDROM 的内容。
为什么不完全跳过安装,并执行以下操作?
ls /dev/cdrom
Run Code Online (Sandbox Code Playgroud)
并已列出 CDROM 的内容。我希望答案之一是:“这就是 Linux 的设计方式”。但如果是这样,那为什么要这样设计呢?为什么不/dev/cdrom
直接访问目录?安装的真正目的是什么?
我想了解什么是安装。它用于不同的上下文和情况,我找不到以下资源:
(我听说mount应用于不同的实体目录、闪存驱动器、网卡等)
我正在阅读理解安装概念的麻烦并遇到了这个解释:
通过使用
mount -t iso9660 /dev/cdrom /media/cdrom
,您告诉系统:“将您在 中的这个非常长的字节串,/dev/cdrom
按照iso9660
格式解释为目录树,并允许我在该位置下访问它/media/cdrom
”
以及沿着这条线的其他答案。这是有道理的,从这个逻辑中,我了解到挂载本质上是将文件系统耦合到设备,该设备以内核可以将其放入现有文件系统层次结构中的方式解释设备的内容。
如果确实如此,为什么需要循环安装?
由于 amount -o loop
在技术上与该操作mount
的目的相同:读取文件并在文件系统的上下文中解释其内容,为什么我们不能在不创建特殊设备的情况下概括挂载操作?
编辑:我知道循环设备为文件提供了块设备 API。然而,我的问题更笼统。从普通文件(iso
或类似的磁盘映像格式)读取与从特殊文件读取(如果它们包含相同的数据)有何不同?
我关于mount
工作原理的心智模型是这样的:给定由/dev/device
文件公开的一组任意字节,这些字节随后由文件系统驱动程序(ext4
例如)解释,mount
命令将其与根层次结构相关联,以便它对最终用户看起来是透明的.
但是,这组任意字节可以出现在任何地方。如果由文件系统驱动程序解释,它们应该被识别为有效的文件系统。什么限制文件系统驱动程序只能从特殊文件而不是常规文件中读取?
我正在安装 CentOS Linux 发行版。
在分区步骤,CentOS 告诉我它sda
在我的机器中检测到一个硬盘,我应该为这个磁盘创建分区并分配挂载点。
但我发现逻辑有点扭曲。我知道 Linux 把所有东西都当作文件,sda
通常是代表我的第一个 SATA 硬盘的设备文件。但是由于还没有安装 Linux,所以应该还没有文件系统。那么怎么会有像这样的设备文件sda
呢?
有人告诉我“Linux 安装程序也是一个 Linux 操作系统,因此有一个内存文件系统。我的硬盘只是文件系统中的一个小元素”。为什么要这样做?Windows 或其他操作系统是否做同样的事情?