在linux系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。比如访问光盘,u盘,磁盘分区都需要通过挂载的方式才可以正常访问和使用。 

在挂载之前需要确定的有:

  • 单一文件系统不应该被重复挂载在不同的挂载点中

  • 单一目录不应该重复挂载多个文件系统

  • 作为挂载点的目录理论上应该都是空目录才行

mount命令

mount可将指定设备中的指定的文件系统加载到linux目录下。可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。

命令格式:

    mount    [选项]    [设备文件名]    [挂载点]

命令功能:

    加载指定的文件系统

命令参数:

    无:不加任何参数时将当前系统所挂载的设备显示出来

    -a:依照配置文件/etc/fstab的数据将所有未挂载的设备都挂载上来

    -l:显示设备的卷标

    -t:加上文件系统的种类来指定欲挂载的类型如ext2、ext3、vfat等

    -n:在默认情况下系统会将实际挂载情况写入/etc/mtab中,以利其他程序的运行。如果使用-n这个参数,不会将挂载信息写入其中。

    -o:后面可以接一些挂载时额外加上的参数

            ro,rw:挂载文件系统成为(ro)或可读写(rw)

            loop:挂载本地回环设备,把一个文件当成一个设备挂载到系统上

            remount:重新挂载

常用范例:

例一:将/dev/sdc1挂载到/mnt/test目录下

[root@localhost ~]# mount /dev/sdc1 /mnt/test/
[root@localhost ~]# cd /mnt/test/
[root@localhost test]# ls
lost+found

例二:将/tmp/image.iso 这个iso文件挂载到/media目录中

[root@localhost test]# mount -o loop /tmp/image.iso /mnt/

这样我们就可以在不把iso刻录成光碟的情况下查看其内容了


umount命令

命令格式:

    umount    [参数]    设备文件名或挂载点

命令功能:

    将设备文件卸载

命令参数:

    -f:强制卸载

    -n:不更新/etc/mtab的情况下卸载

常用范例

    卸载/mnt/test分区

[root@localhost test]# umount /mnt/test/

有时卸载文件时提示

wKiom1Pki3yThzO5AAB4iR8CQls759.jpg

出现这种情况的时候请确保你所有的数据都已经处理完成并妥善保存后可以执行下面的命令

[root@localhost test]# umount /mnt/test/
umount: /mnt/test: device is busy
umount: /mnt/test: device is busy
[root@localhost test]# fuser -km /mnt/test        #终止正在使用该文件的进程
/mnt/test:            5434c

完毕之后再次使用umout命令卸载即可


设置开机挂载

手动处理mount不是很人性化,我们总是需要让系统“自动”在开机的时候就进行挂载,现在就来结束如何让其开机后自动挂载。

我们可以通过编辑/etc/fstab文件来实现开机自动挂载

wKioL1Pkj8eBG_2aAAD6pJ7wMmU838.jpg

第一列:磁盘设备文件名或该设备的Label

第二列:挂载点,即目录

第三列:磁盘分区的文件系统

第四列:文件系统参数,相当于mount命令的-o选项,可以指定是只读挂载还是可读写挂载以及其他一些挂载参数

第五列:是否被dump命令作用,dump是一个用来作为备份的命令,0表示不做备份,1表示每天进行dump备份,通常这个数值不是0就为1

第六列:是否以fsck检验分区,0表示不用校验,1表示最早校验,2也是校验,不过1会比较早的被校验,通常根目录设置为1,其他的要校验的文件系统设置成2就可以了