简介
mount
命令可以将分区挂载到 Linux 下的某一个目录上,从而将分区与该目录联系起来,因此只要访问该目录,就相当于访问该分区。
mount
命令的参数非常多,具体的中文手册可参考 mount 中文手册,本文仅介绍 mount
的基本使用方式。
命令格式
mount
命令的格式可概括为:mount [-t vfstype] [-o options] device dir
命令中 -t vfstype
指定文件系统的类型,通常可以不必指定,mount
命令会自动选择正确的类型,文件系统的类型主要包括:
-
iso9660
:光盘或者光盘镜像 -
msdos
:DOS fat16 文件系统 -
ntfs
:Windows NT nfts 文件系统 -
vfat
:Windows 9x fat32 文件系统 -
smbfs
:Windows 文件网络共享 -
nfs
:Unix 文件网络共享
命令中 -o options
主要用来描述设备或者档案的挂载方式,支持的方式主要包括:
-
loop
:用来将一个文件当成硬盘分区挂载到系统 -
ro
:按照只读方式挂载设备 -
rw
:按照读写方式挂载设备 -
iocharset
:指定访问文件系统所用的字符集
命令中的 device
指的是要挂载的设备
命令中的 dir
指的是设备在系统上的挂载点
挂载光盘镜像文件
将当前光驱里的光盘制作成光盘镜像文件 /home/sunky/mydisk.iso
,可以执行以下命令
# cp /dev/cdrom /home/sunky/mydisk.iso
或者执行以下命令
# dd if=/dev/cdrom of=/home/sunky/mydisk.iso
将系统中的文件和目录制作成光盘镜像文件,可执行以下的命令,这条命令将 /home/sunky/mydir
目录下所有的目录和文件制作成光盘镜像文件 /home/sunky/mydisk.iso
,光盘卷标为 mydisk
:
# mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
将光盘镜像文件挂载到系统的 /mnt/vcdrom
目录上,可以执行以下的命令:
# mkdir /mnt/vcdrom
# mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
挂载移动硬盘
对 Linux 系统而言,USB 接口的移动硬盘是被当作 SCSI 设备对待,为了确定移动硬盘的硬盘分区情况,可以在插入硬盘设备之前,使用 fdisk -l
命令,或者 more /proc/partitions
查看系统的硬盘与硬盘分区情况,在插入移动硬盘后,再使用 fdisk -l
命令,或者 more /proc/partitions
查看。理论上应该可以发现多了一个硬盘与对应的分区。假设多出来的硬盘为 /dev/sdc
,硬盘分区为 /dev/sdc1
与 /dev/sdc2
。使用如下的命令进行挂载:
# mkdir -p /mnt/usbhd1
# mkdir -p /mnt/usbhd2
# mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
# mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
对 ntfs 格式的硬盘分区,使用 -t ntfs
参数,对 fat32 格式的硬盘分区,使用 -t vfat
参数,若汉字文件名显示为乱码,则可以通过 -o iocharset=cp936
指定字符集。
挂载 Windows 文件共享
Windows 网络共享的核心是 SMB,在 Linux 下挂载 Windows 的磁盘共享,必须安装和使用 samba 服务,现在流行的 Linux 发行版绝大部分都已经包含了 samba 软件包。
在 Windows 系统共享设置完成后,就可以在 Linux 客户端挂载磁盘共享了,具体操作可参考:
# mkdir –p /mnt/samba
# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba
在以上的命令范例中,administrator
与 pldy123
是 IP 地址为 10.140.133.23
的 Windows 计算机的一个用户名与密码,c$
是这台计算机的一个磁盘共享,这样在 Linux 系统上就可以通过 /mnt/samba
来访问 Windows 系统磁盘上的文件。
挂载 Unix 系统 NFS 文件共享
类似于 Windows 的网络共享,Unix 系统也有其自己的网络共享,即网络文件系统 NFS,在 Linux 客户端挂载 NFS 磁盘共享之前,必须先配置好 NFS 服务端。
修改 /etc/exports
,增加共享目录:
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
在以上的设置中,/export/home/
目录下的 sunky
,sunky1
与 sunky2
是准备共享的目录,10.140.133.23
、*
、linux-client
是被允许挂载到此共享 Linux 客户机的 IP 地址或者主机名,如果使用主机名,则必须在服务端主机 /etc/hosts
文件中增加对应的条目。
然后启动与停止 NFS 服务:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)
/etc/rc.d/init.d/nfs start 启动NFS服务
/etc/rc.d/init.d/nfs stop 停止NFS服务
随后,Linux 客户端挂载其他的 Unix 系统的 NFS 共享,可执行以下命令:
# mkdir –p /mnt/nfs
# mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs