除了树莓派本身自动的tf卡硬盘外,有时可能要手动对设备进行控制,比如想要自己挂载一块硬盘,就需用到下面讲的知识了。
在你挂载设备之前,可以使用df命令查看已挂载的设备,如图1-5所示。
图1-5
df命令有多个功能,包括显示磁盘空间以及查看已挂载的设备等。
往计算机上插入一个设备与从设备上读取数据是完全不同的两个任务。有时计算机知道设备已经插入了,但是其中的信息在设备被挂载前还是不可见的,这就像书本已经在书架上了,但你还未被允许去借阅它一样。
硬盘以及外设是通过树莓派系统的虚拟文件系统进行管理的,使用mount命令可以查看当前的挂载情况,输出的格式为“设备 挂载点 文件系统类型 选项”。你会看到一些none,不必去理会那些设备。你应该关心的主要设备以/dev开头,例如/dev/mmcblkop1,这个是与SD卡相关的;以及/dev/sda1,这个是与USB设备相关的。
现在插入一个USB设备。像大多数计算机一样,树莓派会自动挂载好USB设备。接下来输入mount指令,你会看到类似/dev/sda1 on /media/pi/ UNTITLED...这类的输出。通过指令sudo umount /dev/sda1,你可以取消挂载,当然前提是设备不在使用中。
如果你遇到了设备正在使用这样的错误,就尝试切换目录并关闭可能有影响的软件。
/dev/sda1指向/dev/sda上的第一个分区。下一个插入的设备会储存在/dev/sdb1。你可以通过命令tail -f /var/log/messages来查看挂载的相关信息。在其他的Linux系统上,如果上述指令输出为空,可以尝试查看/var/log/syslog。fdisk是另一个查看设备的指令。sudo fdisk -l指令不会分区,而是会直接打印出连接到树莓派上的磁盘,同时也会给出一些帮助你挂载硬盘的信息。
如果你想要挂载磁盘,那么首先需要一个具有相应权限的挂载点,可以执行下述命令设置挂载点:
$ sudo mkdir /media/usb $ sudo chmod 775 /media/usb
树莓派系统会使用一些简单的图形界面程序帮助你完成磁盘的挂载,如图1-6所示。
图1-6
除开图形界面以外,执行下述命令可以在终端上提供帮助信息,比如告诉你分区的格式为NTFS:
$ sudo mount -t vfat /dev/sda1 /media/usb
这里的vfat是文件系统类型。
接下来就可以挂载硬盘了。
系统通过/etc/fstab文件知晓在启动时要挂载哪些硬盘。问题是在启动时如果有两个设备,就可能会选择到错误的那一个上。幸运的是,磁盘有自己独特的“身份证”UUID。sudo blkid命令能够输出这些信息,这与查看/dev/disk/by-uuid有相同的效果。
对于一个NTFS格式的硬盘,输入“sudo nano /etc/fstab”并向文件中添加如下命令:
/dev/disk/by-uuid/E4EE32B4EE327EBC /media/usb ntfs defaults 0 0
第一项是设备名,第二项是挂载点,第三项是格式,第四项是可选项,最后两项是两个整数设定位。一般将第一项设为0。第二项是在启动时的顺序数:根文件系统是1,长期要挂载的硬盘是1,其他情况是0。通过man mount,你可以了解更多相关信息。
现在来学习有关nano编辑器的更多操作。先来看一些快捷键:Ctrl+R是打开文件,Ctrl+O是保存,Ctrl+X是退出。记住的快捷键越多,工作的效率就越高。虽然nano不像vim与emacs那样强大,但是也有一些方便的快捷键功能:Ctrl+J能够重新组织段落,Ctrl+K可以切分行,Ctrl+U实现粘贴功能。自己亲手使用一下会更好理解。
还有一些以M-开头的快捷键,意思是组合使用Alt键。除了Ctrl+O可以实现保存功能外,Ctrl+T可以跳出一个文件管理器,选定想要保存的位置。
退出nano,输入“sudo mount –a”会自动挂载设备到指定的挂载点。如果你在/etc/fstab里添加了新的设备,那么sudo mount /media/usb1t会只挂载选中的设备。
mount -a会读取etc/fstab并且帮你自动处理挂载,如图1-7所示。
图1-7