管理存储设备的第一步是把设备连接到文件系统树中,这个过程叫做挂载,允许设备参与到操作系统中。Linux中维护单一文件系统树,设备连接到各个结点上。其它操作系统,比如说 MS-DOS 和 Windows 系统中,每个设备(例如 C:\,D:\,等)保持着单独的文件系统树。
Linux中/etc/fstab 的文件可以列出系统启动时要挂载的设备,典型的如硬盘分区。
每行由六个字段组成,如下所示:
<file system> <mount point> <type> <options> <dump> <pass>
/ was on /dev/sda1 / ext4 errors=remount-ro 0 1
可以使用mount命令来查看挂载的文件系统列表,执行这个不带参数的命令,将会显示一系列当前挂载的文件系统:
jeremy@ubuntu:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
...
这个列表的格式是:设备 on 挂载点 type 文件系统类型(可选的)
例如,第一行所示设备/dev/sda1 作为根文件系统被挂载,文件系统类型是 ext4,并且可读可写(这个“rw”选项)。
当我插入U盘后,除了额外的一行之外,我们看到和原来一样的列表。只在列表的末尾多出来如下一行:
/dev/sdb1 on /media/jeremy/AC7F-32BE type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
我们看到U盘已经挂载到了/media/jeremy/AC7F-32BE 上,它的文件类型是vfat。
现在我拥有U盘的设备名字,让我来卸载它,并把它重新挂载到文件系统树的另一个位置。我需要超级用户身份(使用系统相应的命令)来进行操作,并且用umount来卸载光盘:
jeremy@ubuntu:~$ su -
Password:
root@ubuntu:~$ umount /dev/sdb1
下一步是创建一个新的挂载点。一个挂载点就是文件系统树中的一个目录。它没有什么特殊的。它甚至不必是一个空目录,即使把设备挂载到了一个非空目录上,你也不能看到这个目录中原来的内容,直到你卸载这个设备。我将创建一个新目录并把这个U盘挂载到一个新的挂载点上(这个 -t 选项用来指定文件系统类型),然后用umount命令卸载原挂载点:
root@ubuntu:~$ mkdir /tmp/pl
root@ubuntu:~$ mount -t vfat /dev/sdb1 /tmp/pl
root@ubuntu:~$ umount /dev/sdb1
现在来补充了解一下怎样确定设备的名称。
上面例子中的/dev/sd* 指的是SCSI 磁盘。在最近的 Linux 系统中,内核把所有类似于磁盘的设备(包括 PATA/SATA 硬盘,闪存,和 USB 存储设备,比如说可移动的音乐播放器和数码相机)都看作 SCSI 磁盘。
/dev/sr* 指的是光盘(CD/DVD 读取器和烧写器)
/dev/lp* 指的是打印机
/dev/hd* 指的是老系统中的 IDE(PATA) 磁盘。典型的主板包含两个IDE连接器或者是通道,每个连接器带有一根缆线,每根缆线上有两个硬盘驱动器连接点。缆线上的第一个驱动器叫做主设备,第二个叫做从设备。