挂载和卸载

挂卸载

1)mount,挂载:
    将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问入口的行为。
    一个目录下不能同时挂载多个设备,生效的只是最后挂载的,当取消挂载时,也是取消最后挂载的。
    同时这个目录称为挂载点,此目录一般为空,若不为空,则会在挂载完成后临时隐藏挂载点下原有的文件。
    挂载点通常在/media 或/mnt下。
    挂载意味着使外来的文件系统看起来如同是主目录树的一部分。
    访问前,介质必须被挂载。
    按照默认设置,非根用户只能挂载某些设备(光盘、DVD 、软盘、USB 等等)
2)umount,卸载:
    解除此关联关系的过程。
    卸载时可以使用设备,也可以使用挂载点进行卸载。
    摘除时,介质必须被卸载。
    卸载时,最好用fuser看下设备是否在使用,正在使用的介质是卸载不掉的。
3)永久挂载:
    使用mount和umount都是临时的,重启后都会消失。
    只有把挂载项写到配置文件中才能实现永久挂载,且开机自动挂载和卸载。
    同时可以在/etc/fstab中创建好后,直接使用mount -a 来挂载所有创建好的文件系统挂载。
    配置文件:/etc/fstab
    配置文件格式:
        每行定义一个要挂载的文件系统。
        可以参照已有的配置进行创建。
        要挂载的设备或伪文件系统可以是:
            设备文件;LABEL;UUID;伪文件系统的路径名。
        挂载点:
            需要挂载到那个目录上,是绝对路径
        文件系统类型:
            需要挂载的文件系统类型
        挂载选项:
            defaults:
            bind:
            pri:
        转存频率:
            0,不做备份
            1,每天转存
            2,每隔一天转存
        自检次序:
            0,不自检
            1,首先自检,一般只有rootfs才有1

mount

mount - mount a filesystem,挂载
    mount [options] [-t vfstype] [-o optlist] [device dir]
        device :指明要挂载的设备;
            设备文件:例如/dev/sda5
            卷标:-L 'LABEL', 如 例如 -L 'MYDATA'
            UUID, -U 'UUID'如 :例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
            伪文件系统名称:proc, sysfs, devtmpfs, configfs
        dir :挂载点
            /mnt,/media为固定挂载点
            事先存在,建议使用空目录
            进程正在使用中的设备无法被卸载
            目录间的挂载,相当于目录建立硬链接
        [options]
            -a, --all                   自动挂载所有支持自动挂载的设备( 定义在了/etc/fstab文件中,且挂载选项中有auto 功能)
            -c, --no-canonicalize       不规范化路径
            -f, --fake                  测试运行
            -F, --fork                  fork 掉每个设备 (use with -a)
            -T, --fstab <path>          替换文件为 /etc/fstab
            -h, --help                  显示帮助信息
            -i, --internal-only         不调用挂载.<type> helpers
            -l, --show-labels           显示所有嗲有标签LABEL的挂载
            -n, --no-mtab               不更新/etc/mtab ,mount不可见,也就是可以隐藏挂载,但可以在/proc/mount或/etc/mtab下看到
            -o, --optlist       挂载文件系统的选项 ,多个选项使用逗号分隔
            -O, --test-opts <list>      限制文件系统的设置 (use with -a)
            -r, --read-only             readonly ,只读挂载
            -t,         指定要挂载的设备上的文件系统类型
            --source <src>          明确指定源(path, label, uuid)
            --target <target>       明确指定挂载点
            -v, --verbose               显示详情
            -V, --version               显示版本信息
            -w, --rw, --read-write      读写挂载(default)
            -L 'LABEL':     以卷标指定挂载设备
            -U 'UUID':      以UUID 指定要挂载的设备
            -B, --bind                  挂载到一个子目录上 (same as -o bind),绑定目录到另一个目录上
            -M, --move                  移动子目录到另外的地方
            -R, --rbind                 挂载子目录到其他所有挂载的地方
            --make-shared               标记子目录为共享目录
            --make-slave                标记子目录为从目录
            --make-private              标记子目录为私有目录
            --make-unbindable           标记子目录为不可绑定的目录
            --make-rshared              递归标记整个子目录内容为共享目录
            --make-rslave               递归标记整个子目录内容为从目录
            --make-rprivate             递归标记整个子目录内容为私有目录
            --make-runbindable          递归标记整个子目录内容为不可绑定目录
            [-o optlist]:
                async : 异步模式
                sync :  同步模式, 内存更改时,同时写磁盘
                atime/noatime : 包含目录和文件,在web服务器上网页的更新上加上noatime
                    对于单个目录文件来说,使用chattr  -R +A 目录或文件,来禁止atime
                diratime/nodiratime :   目录的访问时间戳
                auto/noauto :   是否支持自动挂载, 是否支持-a 选项
                exec/noexec :   是否支持将文件系统上运行应用程序
                dev/nodev : 是否支持在此文件系统上使用设备文件
                suid/nosuid :   是否支持suid 和sgid 权限,非常安全的用法
                remount :   重新挂载
                ro :    只读
                rw: :   读写
                user/nouser :   是否允许普通用户挂载此设备,/etc/fstab 使用
                acl :   启用此文件系统上的acl 功能
                loop:   使用loop设备
                defaults :  图形界面的挂载,相当于rw, suid, dev, exec, auto, nouser, async
        简单用法:
            mount
                通过查看/etc/mtab文件显示当前已经挂载的所有设备。
                与cat /proc/mounts相似
            mount /dev/DEVICE  mount_point
                挂载设备到挂载点上,一般都是这样用的。

umont

umount - unmount file systems,卸载
    umount [options][-t vfstype] [-O options] {dir|device}
        选项情况和mount相似,但含义相反。
        [options]
         -a, --all                  卸载所有的文件系统
         -A, --all-targets          在当前的名空间中卸载说有的给定设备的挂载点
         -c, --no-canonicalize      不规范化路径
         -d, --detach-loop          若挂载的是loop设备,同样清空loop设备free this loop device
        --fake                  测试运行,不进行系统调用
         -f, --force                强制卸载(in case of an unreachable NFS system)
         -i, --internal-only        不调用卸载.<type> helpers
         -n, --no-mtab              不写到/etc/mtab
         -l, --lazy                 当前分离文件系统,且稍后清除所有
         -O,    限制文件系统的设置(use with -a)
         -R, --recursive            递归卸载目标和其所有的子目录
         -r, --read-only            万一卸载失败,那么尝试进行只读重新挂载
         -t,        限制文件系统类型设置
         -v, --verbose              显示详情
        简单用法
        umount DEVICE
        umount MOUNT_POINT

fuser

fuser - identify processes using files or sockets,查看进程情况,查看使用了那些挂载的设备
    fuser [options] namefile...
        -a,--all                显示所有文件
        -i,--interactive        在杀除之前进行询问 (ignored without -k)
        -k,--kill               通过命名的文件来杀除进程
        -l,--list-signals       列出可用的信号名
        -m,--mount              使用命名的文件系统或块设备来显示所有进程
        -M,--ismountpoint       仅NAME是个挂载点时,实现请求
        -n,--namespace SPACE    在名称空间中搜索 (file, udp, or tcp)
        -s,--silent             沉默模式
        -SIGNAL                 发送信号,而不是发送SIGKILL信号
        -u,--user               显示用户id
        -v,--verbose            详情输出
        -w,--writeonly          仅杀死待用可写权限的进程
        -V,--version            显示版本信息
        -4,--ipv4               仅搜索IPV4套接字
        -6,--ipv6               仅搜索ipv6套接字
        -                       重置选项
        udp/tcp names   [local_port][,[rmt_host][,[rmt_port]]]
        示例:
            fuser -v MOUNT_POINT
                查看下哪些进程正在访问挂载的设备
            fuser -km MOUNT_POINT
                终止所有在正访问挂载点的进程

findmnt

findmnt - find a filesystem,查看文件系统,查看挂载情况。
    findmnt [options] [device] [mountpoint]
          -s, --fstab               在文件系统的静态表中搜索
         -m, --mtab                 在挂载的文件系统的表中搜索
         -k, --kernel               在挂载的文件系统的内核表中搜索 (default)
         -c, --canonicalize         标准化打印路径
         -d, --direction <word>     搜索指导 - 'forward' or 'backward'
         -e, --evaluate             打印所有TAGs (LABEL/UUID) 的评估
         -f, --first-only           仅打印第一个找到的文件系统
         -i, --invert               颠倒匹配功能
         -l, --list                 使用列表格式输出
         -u, --notruncate           在列中不截断text输出
         -O, --options <list>       通过挂载选项来限制文件系统的设置
         -o, --output <list>        输出列
         -r, --raw                  使用原始格式输出
         -a, --ascii                使用 ascii 字符为树状格式
         -t, --types <list>         通过FS类型来限制文件系统的设置
         -v, --nofsroot             对于绑定或btrfs挂载的不打印目录/dir
         -R, --submounts            打印所有匹配的子挂载
         -S, --source <string>      设备, LABEL= or UUID=device
         -T, --target <string>      挂载点儿
        可用的列:
            SOURCE  source device
            TARGET  mountpoint
            FSTYPE  filesystem type
            OPTIONS  all mount options
            VFS-OPTIONS  VFS specific mount options
            FS-OPTIONS  FS specific mount options
            LABEL  filesystem label
            UUID  filesystem UUID
            PARTLABEL  partition label
            PARTUUID  partition UUID
            MAJ:MIN  major:minor device number
            ACTION  action detected by --poll
            OLD-TARGET  old mountpoint saved by --poll
            OLD-OPTIONS  old mount options saved by --poll
            SIZE  filesystem size
            AVAIL  filesystem size available
            USED  filesystem size used
            USE%  filesystem use percentage
            FSROOT  filesystem root
            TID  task ID
            ID  mount ID
            OPT-FIELDS  optional mount fields
            PROPAGATION  VFS propagation flags
            FREQ  dump(8) frequency in days [fstab only]
            PASSNO  pass number on parallel fsck(8) [fstab only]

交换分区的挂卸载

swapon, swapoff - enable/disable devices and files for paging and swapping
    swapon [options] [<spec>]
        [options]:
            -a, --all                   从/etc/fstab中启用所有交换分区
            -d, --discard[=<policy>]    如果被设备支持的话,启用swap discards
            -e, --ifexists              默默地跳过不存在的设备
            -f, --fixpgsz               若必要,重新引导启动交换分区空间
            -p, --priority <prio>       指定交换分区设备的优先级
            -s, --summary               显示有关使用的交换分区设备的总概括,查看的是/proc/swaps。
            --show[=<columns>]      在定义的表中显示总概括信息
            --noheadings            不显示头行信息,use with --show
            --raw                   使用原始格式输出, use with --show
            --bytes                 采用bytes的格式显示交换分区的尺寸大小,with --show output
        [<spec>]:
            -L <label>              同LABEL=<label>
            -U <uuid>               同 UUID=<uuid>
            LABEL=<label>           通过交换分区区域标签指定设备
            UUID=<uuid>             通过交换分区区域UUID指定设备
            PARTLABEL=<label>       通过分区标签指定设备
            PARTUUID=<uuid>         通过分区UUID指定设备
            <device>                设备名称被使用
            <file>                  文件名称被水影
        Available columns (for --show):
             NAME   设备文件或分区路径
             TYPE   设备类型
             SIZE   交互分区区域尺寸大小
             USED   在使用的bytes大小
             PRIO   交换分区优先级

光盘的挂卸载和刻录

挂载
        mount /dev/cdrom /mnt/
    卸载和弹出
        eject - eject removable media
        eject [options] device|mountpoint
        eject  -t  弹入磁盘
    光盘刻录
        wodim - write data to optical disk media
        wodim [options] track1...trackn
        详细选项用到再进行查找学习

USB挂载

查看USB是否识别
        lsusb
        lsusb - list USB devices
        lsusb [ options ]
    内核探测到SCSI设备的形式
        /dev/sdaX 、/dev/sdbX 或类似的设备文件
    挂载
        mount /dev/sdbX /mnt
    可通过日志来查看挂卸载情况
        /var/log/messages

自动挂载

自动挂载
        由autofs 包提供
        系统管理器指定由/etc/auto.master 自动挂载器守护进程控制的挂载点
        自动挂载监视器访问这些目录并按要求挂载文件系统
        文件系统在失活的指定间隔5 分钟后会自动卸载
        为所有导出到网络中的NFS配启用特殊匹配 -host 至 "browse"
        参看帮助:man 5 autofs
        支持含通配符的目录名
            * server:/export/&
        rpm -ql autofs
            /etc/auto.master
            /etc/auto.master.d
            /etc/auto.misc
            /etc/auto.net
            /etc/auto.smb
            /etc/autofs.conf
            /etc/autofs_ldap_auth.conf
            /etc/sysconfig/autofs
            /usr/lib/systemd/system/autofs.service
            /usr/lib64/autofs
            /usr/sbin/automount
            /usr/share/doc/autofs-5.0.7

    直接匹配
        直接匹配包括绝对路径名称
        不会影响本地目录结构
        示例:
            /etc/auto.master:
                /-              /etc/auto.direct
            /etc/auto.direct:
                /foo            server1:/export/foo
                /user/local/    server1:/usr/local

    automount
        automount [options] [master_map_name]
        -h --help       帮助
        -p --pid-file f     写进程id到文件f中
        -t --timeout n      在n秒中自动卸载,0表示不启用(0-disable)
        -v --verbose        显示详情
        -d --debug      日志的调试信息
        -D --define     定义全局宏变量
        -f --foreground     不转到后台,do not fork into background
        -r --random-multimount-selection        使用ramdom复制服务器的选择
        -m --dumpmaps [<map type> <map name>]   倾倒automounter maps并退出
        -n --negative-timeout n         设置失败关键词查找的超时时间
        -O --global-options         指定全局挂载选项
        -l --set-log-priority priority path [path,...]      设置后台进程日志的冗长
        -C --dont-check-daemon      如果后台进程已经在运行就不检查
        -F --force      强制清除在开始菜单中已知的自动挂载
        -V --version        打印版本,建立配置并退出