挂载mount和卸载umount

2019年2月26日

1.挂载点:mount_point,用于作为另一个文件系统的访问入口;

    挂载点特性:目录
        ①挂载点应该实现存在;
        ②应该使用未被或不会被其他进程使用到的目录
        ③挂载点下挂载之前原有的文件将会被隐藏;

2.查看系统上的挂载;

    df:查看文件系统磁盘空间使用情况,可在中间看到文件系统和挂载点等选项
    mount (单纯的mount命令)显示在系统上已经挂载的设备以及挂载点
    cat /proc/mounts:查看内核追踪到的已挂载的所有设备;
    cat /etc/mtab:查看文件系统上面当前已挂载的所有情况;(等同于mount)

3.mount挂载命令详解:

    /etc/mtab:记录系统上面所有的挂载情况
    mount文件挂载之后,重启机器之后挂载失效
    mount [-nrw] [-t vfstype] [-o options] device dir
    命令选项:
    -a:将/etc/fstab文件中的所有文件的挂载对应关系,重新挂载一遍(已经挂载的不会挂载,没有挂载的会被挂载)
    -r:readonly,只读挂载,挂载光盘时常使用此选项
    -w:read and write,读写挂载(Linux默认挂载选项为读写挂载)
    -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;
        使用-n表示挂载设备时,不把信息写入此文件
    -t FSTYPE:指明要挂载设备上文件系统的类型(可省略);
        不使用此选项时,mount会调用blkid命令来获取对应文件系统的类型;
    -L LABEL:挂载时以卷标的方式指明设备;
        mount -L LABEL /dir
    -U UUID:挂载时以UUID的方式指明设备;
        mount -U UUID /dir UUID=5dfb0193-86ae-4eab-8096-82d2b6ee129e
    -o:指定额外的挂载选项,指文件系统启用的属性
        sync/async:同步/异步操作;(内存写到磁盘)
        atime/noatime:文件或目录在被访问时是否更新其访问时间戳
        diratime/nodiratime :目录被访问时是否更新其访问时间戳
        remount :重新挂载
        acl:启用此文件系统上的acl功能
            #mount -o acl /dev/DEVICE dir
            #tune2fs -o acl /dev/DEVICE
        ro 挂载为只读 等同于 -r 
        rw 挂载为读写            
        dev/nodev:此设备上是否允许创建设备文件
        exec/noexec:是否允许运行此设备上的程序文件
            (当被挂载的分区上面的内容不清楚时,尤其是不知道里面是否含有.sh脚本时,建议使用-o noexec选项禁用脚本的执行功能)
        auto/noauto:是否支持自动挂载, 是否支持-a选项是否支持将文件系统上运行应用程序
        user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
        suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效
        Defaults:相当于rw, suid, dev, exec, auto, nouser, async
    一个使用技巧:
        可以实现将目录绑定到另一个目录上面,作为其临时访问入口
        mount --bind 源目录 目标目录
    挂载光盘:
        mount -r /dev/cdrom mount_point
        光盘设备文件:/dev/cdrom /dev/dvd
    挂载本地的回环设备:
        mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNY_POINT

4.umount卸载命令详解:卸载某文件系统

    umount 设备
    umount 挂载点
    卸载时的注意事项:
        挂载的设备没有进程使用,正在被进程访问的挂载点将无法被卸载
    卸载时会显示:
        umount: /misc/cd: device is busy.
        (in some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))
    查看被哪个或那些进程所占用:
        lsof mount_point
        fuser -v mount_point
    终止所有正在访问某挂载点的进程:
        fuser -km mount_point:将mount_point上面的所有进程和用户都会被踢出

没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注