linux初学者笔记(12):挂载命令
0 前言
对于外来设备,比如说光盘,u盘什么的,linux不能像windows那样能自动识别并分配盘符,在linux下需要您手动挂载。
1 挂载命令
1.1查询和自动挂载
查看已挂载设备 mount
依据/etc/fstab配置文件来自动挂载 mount -a
看一看fstab
注意:如果修改了这个文件,比如改了一下挂载的分区,增加或减少,都有可能导致系统崩溃
1.2挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
文件系统,这里的一般采用ext3,ext4,ios9660
如下是一些特殊选项
我们来做点实验
home是一个分区,在home目录下写了个脚本,注意,脚本开头#!/bin/bash这个行不能省,原因涉及到嵌套之类的课题。
我们来运行一下这个脚本,以下都做了一些试验
可见,默认挂载好的分区,里面的东西并没有执行权限(这里仅仅限于笔者的虚拟机,具体情况具体分析)
需要手工给权限chmod 755 hello.sh
还有要注意直接写hello.sh运行不起。。。
我们可以试一下重新挂载
首先mount -o remount,noexec /home执行后,重新挂载home分区,并且不给其可执行的权限,如此下来,就算ll下可以看到有权限,也会permission denied
然后重新挂载,给其exec权限就可以恢复正常
注意:这个地方,如果重新挂载的是boot,root之类的话,那么系统很可能会崩溃,没事别乱碰,做试验后记得恢复。
看到这里可能会觉得奇怪,貌似我们一直没写设备文件名,例如sda1什么的。其实试验中的分区,都是已经挂载好的,所以可以省略不写。
1.3 光盘挂载
显然光盘的挂载就需要写其设备文件名了。
当我们把光盘放入光盘时(如果是虚拟机,我们只需要载入,请看下图)
挂载光盘,首先我们要建立挂载点,其实就是建立个目录
mkdir /mnt/cdrom/
然后挂载光盘(/dev/sr0和/dev/cdrom其实是一个文件,/dev/cdrom是/dev/sr0的软链接,可以自行ll看看)
mount -t ios9660 /dev/sr0 /mnt/cdrom/
可以简化
mount /dev/sr0 /mnt/cdrom/
这里出现提示信息的原因,其实是因为挂载的时候默认特殊选项是rw,也就是给读写权限。出现这个信息,其实也就是成功了。
看看
问题来了,现在我想弹出光盘,按了一下弹出键,但是linux没反应,怎么回事?
其实这里,需要用到卸载命令
umount 设备文件名或者挂载点
umount /mnt/cdrom
umount /dev/sr0
umonut /dev/cdrom
这几条都可以,因为我们刚才已经把设备文件名和挂载点挂到一起了
没有回答,就是正确。
如果你在当前目录下,那么肯定就不能卸载了。
1.4 挂载u盘(linux默认不支持ntfs文件系统)
查看u盘设备文件名 fdisk -l
一般情况下是sdb1,但也有不是的时候。u盘会被当做硬盘来处理,如果只有一块硬盘,那么这块硬盘也被记为sda,那么当有u盘插入,u盘就被记为sdb。
挂载 mount -t vfat /dev/sdb1 /mnt/usb