linux挂载概念理解

原文地址:http://blog.csdn.NET/gongweijiao/article/details/8425629

准备知识: 

文件系统中的相关目录:

dev      //设备文件
media  //挂载媒体设备,如光驱、U盘等
mnt    //目录是让用户临时挂载别的文件系统,如挂载Windows下的某个分区,ubuntu默认还是挂载在/media目录。
磁盘分区:
硬盘包括IDE和SCSI两种接口。其中,SCSI接口的硬盘读/写速度快但价格昂贵;IDE接口的硬盘读/写速度慢但价格便宜。用户应根据实际需求合理选择,通常,对读/写速度要求较高的服务器应该选择使用SCSI接口的硬盘。
IDE接口
Linux对连接到IDE接口的硬盘使用/dev/hdx的方式命名,x的值对应于硬盘安装位置,其值可以是a, b, c, d
SCSI接口
对于连接到SCSI接口的设备通常使用ID号进行区别,SCSI设备ID号范围是0-15,SCSI主控制器通常占用ID号7,所以SCSI最多可以连
接15个设备。
Linux对连接到SCSI接口卡的硬盘使用/dev/sdx的方式命名,x的值为a, b等,即ID号为0的SCSI硬盘名为/dev/sda, ID号为1的
SCSI硬盘名为/dev/sdb,以此类推。
硬盘使用前要进行分区。它可以分为主分区(Primary Partition)、扩展分区(ExtensionPartition)和逻辑分区(Logical 
Partition) 3种不同类型。一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区,而扩展分区里可以划分n个逻辑分区,扩展分区本身不能储存任何东西,也不能格式化成某种文件系统,只能用于区分逻辑分区。其中数字编号1^-4留给主分区或扩展分区使用,逻辑分区编号从5开始。
另外,目前操作系统无一例外地使用了虚拟内存技术。Windows操作系统使用交换文件实现这一技术,而Linux操作系统使用交换分区实现这一技术。因此,安装Windows操作系统只使用一个分区,而安装Linux操作系统至少需要两个分区,其中之一为交换分区(SwapSpace)。
拓展分区有拓展分区表和逻辑盘组成:扩展分区表的第一项指定扩展分区目前的逻辑分区信息,如果还有更多的逻辑分区,扩展分区表的第二项指定下一个EBR的位置,否则为0。最后的两个分区表项总是为0。通过这种方式,一个硬盘上的分区数目就没有限制了。
挂载:
Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。
Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示你。这里又一次提到了挂载。所以挂载就是把目录和分区连接起来,和上面说的WINDOWS下的映射关系是一样的。不同的是WINDOWS是把分区映射到一个盘符,而LINUX下是映射到一个目录。 这是理解他们不同最重要的地方,而导致不同的是因为文件系统结构不同。
上面说了Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如/oracle。当然有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那没OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录 --- 分区 是通过挂载把他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录时就是操作对应的分区了
而WINDOWS就没这么复杂,她不是采用树形的结构,每个分区对应一个盘符,一旦建立映射关系就无法在修改。实际上,LINUX的每个挂载了分区的目录就相当于WINDOWS系统中的盘符,比如上面的,/home/ftp 和 /oracle目录我们就可以把她看做一个盘符和一个分区关联,只是因为LINUX文件系统,使得她更加灵活,所以也更复杂和难以理解。
df 命令可以查看分区挂载情况, fdisk 命令可以查看系统分区情况
LINUX下所有设备都被认为是文件,而/dev目录存放所有系统设备文件的,而 一个分区就是一个文件,名字就是分区的名字.
1、通过mount挂载文件 来挂载磁盘分区(或存储设备)
mount挂载文件  [-t  文件系统 ]  [-o  选项]  设备  目录
-t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识别
-o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等
设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
1)对光驱和软驱的挂载;
我们先建一个目录,然后执行Linux mount挂载文件 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 Linux mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[html] view plain copy
print ?
  1. [1]挂载Linux文件系统;  
  2. 首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;  
  3. 步骤:  
  4. 先创建一个挂载目录;比如/mnt/hda5  
  5. 设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;   
  6. 通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录;   
  7. 假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5    
  8. 不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统;   
  9. 通过df -lh 来查看是不是被挂载了;  
[1]挂载Linux文件系统;
首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
步骤:
先创建一个挂载目录;比如/mnt/hda5
设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入; 
通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录; 
假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5  
不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统; 
通过df -lh 来查看是不是被挂载了;

你可能感兴趣的:(linux挂载概念理解)