发布网友 发布时间:2022-03-28 14:20
共4个回答
热心网友 时间:2022-03-28 15:49
设备挂载后,肯定是以一个目录的形式存在,当你访问该目录时即是访问该设备。
像你上面的把/dev/sda2挂到/上,那当你cd到/,进行类似ls查看,vim编写都操作时,其实就是在读写/dev/sda2设备。
这是文件系统里面的东西,linux下面一般是ext3、ext4文件系统,windows下面是fat、ntfs的文件系统,文件系统才是搭建设备与系统关系的桥梁。文件系统是把一块硬盘进行分割,节点写入等操作进行格式化,之后保存在该硬盘上的文件都会在文件系统内(磁盘预留的区域)进行标示,当你要访问某个文件时,文件系统会指给你偏移量。不过用户可见的永远都是目录,访问磁盘文件自然也是通过目录。
热心网友 时间:2022-03-28 17:07
挂载的概念 :linux系统中要使用某个设备时,例如要读取硬盘的一个格式化好的分区、使用光盘或打印机等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为 “ 挂载点( mount point ) ” ,这样才可以读取这些设备,而这个对应的动作就是 “ 挂载 ” 。
将物理设备细节屏蔽掉,用户只有统一的逻辑概念,所有的东西都是文件,系统内核通过向文件写入和读取数据来控制设备, 这是Unix类操作系统的设计理念。
/dev/sda2分区挂载到后,通过挂载点来访问,这个问题的理解以及和inode和data block之间的关系,涉及到linux系统的文件存储结构:
文件系统 ( 如 ext2/ext3/ext4) 创建时(即分区格式化),就把磁盘存储区域分为分为两大连续的存储区域。一个是inode Table,用来保存“文件系统对象”(包括文件、目录、设备文件、socket、管道, 等等)的元信息数据。另一个是data block 数据区域,用来保存“文件系统对象”的内容数据。
一个文件(目录)由一个目录项、 inode 和数据块组成。
目录项 : 包括文件名和 inode 节点号;
Inode :存储了文件系统对象的一些元信息,如所有者、访问权限(读、写、执行)、类型(是文件还是目录)、内容修改时间、inode修改时间、上次访问时间、对应文件的存储地址,等等。
数据块:文件的内容。
到这里就可以理解,当要访问硬盘/dev/sda2上某个文件时,先要将/dev/sda2挂载为目录树上的一个点(目录),才能获得一个inode,这个inode保存了/dev/sda2这个磁盘分区的映射地址。然后就可以通过这个inode,找到/dev/sda2并读取inode table,从中查出文件的属性及数据存储地址,再从数据块中读取数据。
希望你能明白,如有不明之处,建议查阅鸟哥的linux私房菜:第八章、Linux 磁盘与文件系统管理
热心网友 时间:2022-03-28 18:42
/dev/sda2挂载到/上, 当然是通过/访问了。
楼主难道有办法通过/dev/sda2访问分区上的文件么?
热心网友 时间:2022-03-28 20:33
Linux系统非常复杂,因此光看网上的教程或者逛论坛肯定不行,否则到了工作时候就会出现短板,必须系统性的学习一遍,不过也没必要花好多钱报班学习,推荐你买一本《Linux就该这么学》,只要有耐心看完,几十块钱保你学的比他们报班的还要好,加油!~