zoukankan      html  css  js  c++  java
  • LINUX中磁盘挂载与卸除

    一、挂载格式与参数说明:

    • 要将文件系统挂载到我们的 Linux 系统上,就要使用 mount 这个命令啦! 不过,这个命令真的是博大精深~粉难啦!我们学简单一点啊~ ^_^
      [root@www ~]# mount -a
      [root@www ~]# mount [-l]
      [root@www ~]# mount [-t 文件系统] [-L Label名] [-o 额外选项] 
       [-n]  装置文件名  挂载点
      选项与参数:
      -a  :依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来
      -l  :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!
      -t  :与 mkfs 的选项非常类似的,可以加上文件系统种类来指定欲挂载的类型。
            常见的 Linux 支持类型有:ext2, ext3, vfat, reiserfs, iso9660(光盘格式),
            nfs, cifs, smbfs(此三种为网络文件系统类型)
      -n  :在默认的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中,以利其他程序
            的运行。但在某些情况下(例如单人维护模式)为了避免问题,会刻意不写入。
            此时就得要使用这个 -n 的选项了。
      -L  :系统除了利用装置文件名 (例如 /dev/hdc6) 之外,还可以利用文件系统的标头名称
            (Label)来进行挂载。最好为你的文件系统取一个独一无二的名称吧!
      -o  :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:
            ro, rw:       挂载文件系统成为只读(ro) 或可擦写(rw)
            async, sync:  此文件系统是否使用同步写入 (sync) 或异步 (async) 的
                          内存机制,请参考文件系统运行方式。默认为 async。
            auto, noauto: 允许此 partition 被以 mount -a 自动挂载(auto)
            dev, nodev:   是否允许此 partition 上,可创建装置文件? dev 为可允许
            suid, nosuid: 是否允许此 partition 含有 suid/sgid 的文件格式?
            exec, noexec: 是否允许此 partition 上拥有可运行 binary 文件?
            user, nouser: 是否允许此 partition 让任何使用者运行 mount ?一般来说,
                          mount 仅有 root 可以进行,但下达 user 参数,则可让
                          一般 user 也能够对此 partition 进行 mount 。
            defaults:     默认值为:rw, suid, dev, exec, auto, nouser, and async
            remount:      重新挂载,这在系统出错,或重新升级参数时,很有用!
      
      二、挂载 CD 或 DVD 光盘
      范例三:将你用来安装 Linux 的 CentOS 原版光盘拿出来挂载!
      [root@www ~]# mkdir /media/cdrom
      [root@www ~]# mount -t iso9660 /dev/cdrom /media/cdrom
      [root@www ~]# mount /dev/cdrom /media/cdrom 
      # 你可以指定 -t iso9660 这个光盘片的格式来挂载,也可以让系统自己去测试挂载!
      # 所以上述的命令只要做一个就够了!但是目录的创建初次挂载时必须要进行喔!
       
      [root@www ~]# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      .....中间省略.....
      /dev/hdd               4493152   4493152         0 100% /media/cdrom
      # 因为我的光驱使用的是 /dev/hdd 的 IDE 接口之故!
      

    三、挂载U盘

    • 请拿出你的闪盘并插入 Linux 主机的 U盘 槽中!注意,你的这个闪盘不能够是 NTFS 的文件系统喔! 接下来让我们测试测试吧!

      范例五:找出你的闪盘装置文件名,并挂载到 /mnt/flash 目录中
      [root@www ~]# fdisk -l
      .....中间省略.....
      Disk /dev/sda: 8313 MB, 8313110528 bytes
      59 heads, 58 sectors/track, 4744 cylinders
      Units = cylinders of 3422 * 512 = 1752064 bytes
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/sda1               1        4745     8118260    b  W95 FAT32
      # 从上的特殊字体,可得知磁盘的大小以及装置文件名,知道是 /dev/sda1 
      
      [root@www ~]# mkdir /mnt/flash
      [root@www ~]# mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash
      [root@www ~]# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      .....中间省略.....
      /dev/sda1              8102416   4986228   3116188  62% /mnt/flash
      
      四、重新挂载根目录与挂载不特定目录

    整个目录树最重要的地方就是根目录了,所以根目录根本就不能够被卸除的!问题是,如果你的挂载参数要改变, 或者是根目录出现『只读』状态时,如何重新挂载呢?最可能的处理方式就是重新启动 (reboot)! 不过你也可以这样做:

    范例六:将 / 重新挂载,并加入参数为 rw 与 auto
    [root@www ~]# mount -o remount,rw,auto /
    

    重点是那个『 -o remount,xx 』的选项与参数!请注意,要重新挂载 (remount) 时, 这是个非常重要的机制!尤其是当你进入单人维护模式时,你的根目录常会被系统挂载为只读,这个时候这个命令就太重要了!

    另外,我们也可以利用 mount 来将某个目录挂载到另外一个目录去喔!这并不是挂载文件系统,而是额外挂载某个目录的方法! 虽然底下的方法也可以使用 symbolic link 来连结,不过在某些不支持符号链接的程序运行中,还是得要透过这样的方法才行。

    范例七:将 /home 这个目录暂时挂载到 /mnt/home 底下:
    [root@www ~]# mkdir /mnt/home
    [root@www ~]# mount --bind /home /mnt/home
    [root@www ~]# ls -lid /home/ /mnt/home
    2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home/
    2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /mnt/home
    
    [root@www ~]# mount -l
    /home on /mnt/home type none (rw,bind)
    

    五、umount (将装置文件卸除)

    [root@www ~]# umount [-fn] 装置文件名或挂载点
    选项与参数:
    -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
    -n :不升级 /etc/mtab 情况下卸除。
    

    就是直接将已挂载的文件系统给他卸除即是!卸除之后,可以使用 df 或 mount -l 看看是否还存在目录树中? 卸除的方式,可以下达装置文件名或挂载点,均可接受啦!底下的范例做看看吧!

    范例八:将本章之前自行挂载的文件系统全部卸除:
    [root@www ~]# mount
    .....前面省略.....
    /dev/hdc6 on /mnt/hdc6 type ext3 (rw)
    /dev/hdd on /media/cdrom type iso9660 (rw)
    /dev/sda1 on /mnt/flash type vfat (rw,iocharset=cp950)
    /home on /mnt/home type none (rw,bind)
    # 先找一下已经挂载的文件系统,如上所示,特殊字体即为刚刚挂载的装置啰!
    
    [root@www ~]# umount /dev/hdc6      <==用装置文件名来卸除
    [root@www ~]# umount /media/cdrom   <==用挂载点来卸除
    [root@www ~]# umount /mnt/flash     <==因为挂载点比较好记忆!
    [root@www ~]# umount /dev/fd0       <==用装置文件名较好记!
    [root@www ~]# umount /mnt/home      <==一定要用挂载点!因为挂载的是目录
    
  • 相关阅读:
    CF1375 题解
    CF1381 题解
    CF1394 题解
    CF1383 题解
    git pull提示You are not currently on a branch. Please specify which
    centos6 YUMREPO ERROR ALL MIRROR URLS ARE NOT USING FTP, HTTP[S] OR FILE
    git报错fatal protocol error bad pack header
    Mongo服务器管理之部署MongoDB讨论
    Mongo服务器管理之备份
    Mongo服务器管理之监控MongoDB
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/3206265.html
Copyright © 2011-2022 走看看