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      <==一定要用挂载点!因为挂载的是目录
posted @ 2013-07-22 18:48  狂师  阅读(884)  评论(0编辑  收藏  举报