mount 挂载文件系统与卸载文件系统

指令名称:mount

功能介绍:

    mount 命令指示操作系统使文件系统在指定位置(安装点)可用。此外,可以用 mount 命令构建由目录和安装文件(file mounts)组成的其他文件树。Mount 命令通过在 Directory 参数指定的目录上使用 Device/Node: Directory 参数来安装表示为设备的文件系统。mount 命令完成以后,指定的目录变为新安装文件系统的根目录. 只有有 root 权限的用户或系统组成员和对安装点有写权限的用户能发出文件或目录安装(directory mounts)。文件或目录可以是符号链接。mount 命令使用真实的用户标识,而不是有效的用户标识,来确定用户是否有相应的访问权限。假定系统组成员对安装点或在 /etc/filesystems 文件中指定的安装有写入权限,他们能发出设备安装(device mounts)。有 root 用户权限的用户能发出任意的 mount 命令。



语 法格式:mount [ -f ] [ -n Node ] [ -o Options ] [ -p ] [ -r ] [ -v VfsName ] [ -t Type | [ Device | Node:Directory ] Directory | all | -a ] [-V [generic_options] special_mount_points ]

常用参数说明:

-V 显示程序版本

-h 显示辅助讯息

-v 显示较讯息,通常和 -f 用来除错。

-a 将 /etc/fstab 中定义的所有档案系统挂上。

-F 这个参数通常和 -a 一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。

-f 通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。

-n 一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下

可以用这个选项取消这个动作。

-s-r 等于 -o ro

-w 等于 -o rw

-L 将含有特定标签的硬盘分割挂上。

-U 将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。

-t 指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。

-o async 打开非同步模式,所有的档案读写动作都会用非同步模式执行。

-o sync 在同步模式下执行。

-o atime -o noatime

当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。

-o auto -o noauto

打开/关闭自动挂上模式。

-o defaults

使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.

-o dev

-o nodev-o exec

-o noexec

允许执行档被执行。

-o suid

-o nosuid

允许执行档在 root 权限下执行。

-o user

-o nouser

使用者可以执行 mount/umount 的动作。

-o remount

将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是只读的系统,现在用可读写的模式重新挂上。

-o ro

用唯读模式挂上。

-o rw

用可读写模式挂上。

-o loop=

使用 loop 模式用来将一个档案当成硬盘分割挂上系统。 

指令使用实例:

1. 要列出安装的文件系统,请输入:

    $ mount

   此命令产生的结果与下面相似:

      node   mounted          mounted    vfs date          options   over

      ----   -------          --------- --- ------------   ------- ---------

             /dev/hd0         /          jfs Dec 17 08:04   rw, log =/dev/hd8

             /dev/hd3         /tmp       jfs Dec 17 08:04   rw, log =/dev/hd8

             /dev/hd1         /home      jfs Dec 17 08:06   rw, log =/dev/hd8

             /dev/hd2         /usr       jfs Dec 17 08:06   rw, log =/dev/hd8

      sue    /home/local/src /usr/code nfs Dec 17 08:06   ro, log =/dev/hd8

2. 挂载光驱

[root@rehat root]# mount -t iso9660 /dev/cdrom /mnt/cdrom

3. 挂载光驱,支持中文

[root@rehat root]# mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom

4.挂载 Windows 分区,FAT文件系统

[root@rehat root]# mount -t vfat /dev/hda3 /mnt/cdrom

5.挂载 Windows 分区,NTFS文件系统

[root@rehat root]# mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7

6.挂载 ISO 文件

[root@rehat root]# mount -o loop /abc.iso /mnt/cdrom

7.挂载 软驱

[root@rehat root]# mount /dev/fd0 /mnt/floppy

8.挂载闪盘

[root@rehat root]# mount /dev/sda1 /mnt/cdrom

9. 挂载 Windows 操作系统共享的文件夹

[root@rehat root]# mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

10.显示挂载的文件系统

[root@rehat root]# mount

[root@rehat root]# cat /etc/fstab        //显示系统启动自动加载的文件系统

[root@rehat root]# cat /etc/mtab        //显示当前加载的文件系统

======================

mount/umount-挂载设/卸载设备命令的使用

 

  mount [-t 格式] [设备] [目录]

 

挂载某一设备成为某个目录名称

 

mount 也是一个您非会不可的命令。不然您不但无法取得原先存在 Windows 硬盘的资料,就连软驱、光驱都通通形同废物!

 

前面提过UNIX(包含 Linux)的观念,都把软驱、硬盘、光驱视同一个目录来存取。但是在您没有用 mount 命令把这些设备挂载在某一个目录上之前,这些设备是无法存取的。换言之,即使有目录也没有用。

 

请看下例:

 

我们假设已经创建了一个名为 /mnt/cdrom 的目录。昨天您也看到有人在这个目录存取光盘上的资料。但是我们现在用 ls 去 查看它,它仍然是空无一物的。(倒还不会不能列出,只是空无资料,因为它现在不过是一个普通的子目录)我们用 mount 命令把光驱 (当然要已经放好光盘了)挂载到这个目录来。典型的命令如:

 

mount /dev/hdd /mnt/cdrom

 

但是您的光驱究竟是 /dev/hdd, /dev/hdc,或者/dev/hdb,您要自行观察并变化,不能硬抄这行命令。

 

现在我们再下达与刚才一样的列示命令,却看得到东西了。因为现在 /mnt/cdrom 这个子目录已经变成整个光驱了!

 

所以,当我们想要切换进光盘的 /Thiz 目录时,命令必须为:

 

cd /mnt/cdrom/Thiz

 

或者,先切换进光盘

 

cd /mnt/cdrom

 

然后再

 

cd Thiz

 

注意,Thiz前没有斜线了。如果您对DOS 熟悉的话,可能经常会弄错,因为对DOS 而言,Thiz是光驱的第一层目录,前面可以加斜线,这点连我们也经常出错。

 

挂载软驱也是一样的方法,比较简单(假设您已经建好了 /floppy这个空目录):

 

mount /dev/fd0 /floppy

 

所以,您在事前就应该未雨绸缪,先建好一些名为 /cdrom, /floppy …等目录备用。如果您觉得这些目录散乱在主目录下显然很乱的话,也有 人习惯都把它们藏在 /mnt目录下面,变成 /mnt/cdrom, /mnt/floppy …只是每次存取时要多输入几个字,这些都可由您自由决 定。

 

前述的情形是系统自动判断挂载进来的磁盘格式。如果系统判断不出来的话,您就必须要自行指定格式,如:

 

mount -t ext2 /dev/fd0 /floppy

 

指定它是一片 Liunx 格式的软盘。

 

mount -t msdos /dev/fd0 /floppy

 

指定它是一片 MS-DOS 格式的软盘。

 

所以 -t 选项之后接着的格式常用的有 ext2, msdos, iso9660、vfat等。

 

练习:

 

(1)请用 Windows 去网络上下载一个 Windows用的桌面图片回来,给 Linux 当做 X Window 的桌面图案。

 

(2)如果您 mount 了一台光驱,然后按按光驱的跳出钮,会怎么样?

 

取消挂载的装置

 

有“挂载”当然就有“取消挂载”了。如果您把一台光驱用 mount 命令挂载上去了之后,与 DOS 或者 Windows 不一样的是,它按跳出钮也跳不出来了!

 

不要以为是光驱坏掉了。赶快取消挂载吧!

 

如果您当初是这样挂上去的:

 

mount -t iso9660 /dev/hdc /mnt/cdrom

 

那么现在就这样取消:

 

umount /mnt/cdrom

 

再举软盘的例子:

 

mount /dev/fd0 /floppy

 

umount /floppy

 

有没有可能它不让您取消挂载呢?有!很多资料都没有提到这一点。

 

如果您现在正在光盘的某一个目录中,例如cd /mnt/cdrom/chinese,那么您即使下达:

 

umount /mnt/cdrom

 

它也不让您取消。如果正有某一个图形接口的文件总管正在看这个目录也不行。

 

练习:

 

(1)可以把一台驱动器或光驱,不取消 mount再挂载到另一个目录吗?

 

(2)因为软驱的跳出钮是机械式的,所以即使不取消 mount,它仍可以跳出。那么系统再存取该挂载的目录时会如何?

转载于:https://blog.51cto.com/eagle/605820