所有的硬件设备必须挂载之后才能使用,只不过有些硬件设备(比如硬盘分区)在每次系统启动时会自动挂载,而有些(比如 U 盘、光盘)则需要手动进行挂载。mount命令是Linux挂载命令。
一、什么是“挂载”以及为什么Linux需要挂载。
前面我们有提到过,Linux系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。
挂载,指的就是将设备文件中的顶级目录连接到 Linux根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。
二、“挂载点”的目录要求:
- 目录事先存在,可以用mkdir命令新建目录
- 挂载点目录不可被其他进程使用到
- 挂载点下原有文件将被隐藏
三、mount命令格式
mount [-t vfstype] [-o options] [设备名称] [挂载点]
-
挂载点
: 必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常 -
设备名称
: 可以是一个分区,一个usb设备,光驱,软盘,网络共享等 -
-t
指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660;
DOS fat16文件系统:msdos;
Windows 9x fat32文件系统:vfat;
Windows NT ntfs文件系统:ntfs;
Mount Windows文件网络共享:smbfs;
UNIX(LINUX) 文件网络共享:nfs -
-o
主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统;
ro:采用只读方式挂接设备;
rw:采用读写方式挂接设备;
iocharset:指定访问文件系统所用字符集
1、mount挂载光驱系统
一般来说CDROM的设备文件是/dev/hdc 或dev/cdrom或media/cdrom
首先我们在mnt
目录新建cdrom
目录:
$ mkdir /mnt/cdrom
执行挂载命令:
$ mount /dev/cdrom /mnt/cdrom
2、mount挂载u盘
如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1:
$ mkdir /mnt/upan
$ mount /dev/sda1 /mnt/upan
四、umount卸载文件系统
umount 命令用于卸载已经挂载的硬件设备,该命令的基本格式如下::
$ umount 设备文件名或挂载点
注意,卸载命令后面既可以加设备文件名,也可以加挂载点,不过只能二选一,比如卸载光盘:
$ umount /mnt/cdrom
命令加设备文件名同样是可以卸载的:
$ umount /dev/cdrom
如果加了两个(如下所示),从理论上分析,会对光驱卸载两次,当然,卸载第二次的时候就会报错。
`$ umount /dev/cdrom /mnt/cdrom/
另外,我们在卸载时有可能会出现以下情况:
[root@localhost ~]# cd /mnt/cdrom/
#进入光盘挂载点
[root@localhost cdrom]# umount /mnt/cdrom/
umount: /mnt/cdrom: device is busy.
#报错,设备正忙
这种报错是因为我们已经进入了挂载点,因此,如果要卸载某硬件设备,在执行 umount 命令之前,用户须退出挂载目录。
卸载硬件设备成功与否,除了执行 umount命令不报错之外,还可以使用 df 命令或 mount -l 来查看目标设备是否还挂载在系统中。