linux挂载硬盘_一篇文章带你了解 linux 如何进行挂载

60fc38174603417106d5c84dbd3cba10.png

1、挂载命令

linux 所有存储设备都必须挂载使用,包括硬盘

mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以是 ext3 、 ext4 、iso9660 等文件系统
-L 卷标名: 挂载指定卷标的分区,而不是按照设备文件名挂载(现在基本不用这个参数)
​ -o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。
# 查询系统中已经挂载的设备, -l 会显示卷标名
[root@hepingfly 桌面]# mount [-l]

------------------------------------------------
[root@hepingfly 桌面]# mount -a
# 上面命令的意思是,根据配置文件 /etc/fstab 的内容,自动挂载。它还可以用来检测下 /etc/fstab 这个文件有没有问题,如果这个文件有问题的话,使用 mount -a 命令会报错,方式系统重启后崩溃。因为系统重启会去扫描 /etc/fstab 这个文件
mount -o remount,noexec /boot
# 重新挂载 /boot 分区,并使用 noexec 权限      这样整个 boot 分区下所有的文件都没有了执行权限
# remount 用于重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

2、光盘挂载

光盘挂载的前提依然是指定光盘的设备文件名,不同版本的 Linux ,设备文件名并不相同
  • CentOS 5.X 以前的系统,光盘设备文件名是 /dev/hdc
  • CentOS 6.X 以后的系统,光盘的设备文件名是 /dev/sr0
[root@hepingfly 桌面]# mount /dev/sr0 /mnt/cdrom/
mount: you must specify the filesystem type

# 挂载的时候可能会出现上面的错误,原因是因为你没有插入光盘,光驱是空的

[root@hepingfly 桌面]# mount /dev/sr0 /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
# 上面的意思就是 sr0 想被挂为读写权限,但是其实只有读权限。光盘我们都知道他是只读的,所以这个信息你恰恰可以认为是挂载正确提示

-----------------------------------------------------------------------------------
光盘用完之后记得卸载:
[root@hepingfly 桌面]# umount /dev/sr0
[root@hepingfly 桌面]# umount /mnt/cdrom
# 上面两条命令都可以,因为设备文件名和挂载点已经连接到一起,卸载哪一个都可以

#注:
卸载的时候需要退出光盘目录才能正常卸载

解释下挂载的时候挂载点为什么一定要是空目录?

首先说挂载点如果不是空目录的话,挂载也是可以成功的。但是这个目录下的文件就看不到了,但是文件并没有被删除,这个文件处于既不能被删除也不能被访问的状态,等你卸载的时候发现这个目录下的文件又可以访问了。

3、U 盘挂载

U 盘会和硬盘共用设备文件名,所以 U 盘的设备文件名不是固定的,需要手工查询

[root@hepingfly 桌面]# fdisk -l                     # fdisk 是分区工具,fdisk -l 是查看磁盘分区信息
# 如果你插入 U 盘的话,你可以从这个信息里面看到 U 盘的设备文件名

解释一下上面的内容:

假设你现在只有一块硬盘,那么硬盘的设备文件名应该就是 sda ,那么此时你插入 U 盘,U 盘的设备文件名应该就是 sdb ,但是如果你有两块硬盘,那么第二块硬盘的设备文件名应该就是 sdb ,如果此时你插入 U 盘,U 盘的设备文件名就是会是 sdc。所以说每一个人的系统中,你 U 盘的设备文件名都不是固定的。

再说一遍:

==挂载就是把设备文件名和空目录连起来==

挂载 U 盘:

[root@hepingfly 桌面]# mount -t vfat /dev/sdb1 /mnt/usb/

解释下上面的命令:
u 盘是 windows 下为 FAT32 文件系统,在 linux 下识别为 vfat ,所以使用 「-t vfat 」,至于 「/dev/sdb1」为 u 盘被 linux 系统识别的设备文件名,不同操作系统识别的可能不一样,按照上面说的方法查询一下 u 盘的设备文件名即可

如果 U 盘中有中文,会发现是中文乱码。Linux 要想正常显示中文,需要两个条件:

  • 安装了中文编码和中文字体
  • 操作终端需要支持中文显示(纯字符终端,是不支持中文编码的)

而我们当前系统是安装了中文编码和字体的,而 xshell 远程终端是 windows 下的程序,当然是支持中文显示的。那之所以挂载 U 盘还出现乱码,是需要在挂载的时候,手工指定中文编码。

[root@hepingfly 桌面]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
# 挂载 U 盘,指定中文编码格式为 utf-8

如果需要卸载:

umount /mnt/usb/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值