Linux 挂载命令
发布日期:2021-05-07 15:14:48 浏览次数:45 分类:原创文章

本文共 3458 字,大约阅读时间需要 11 分钟。

目录


挂载命令

mount 命令基本格式 

  • linux 所有存储设备都必须挂载使用,包括硬盘
    • 命令名称:mount
    • 命令所在路径:/bin/mount
    • 执行权限:所有用户
    • 命令的具体格式如下:
  • 查询系统中已经挂载的设备,-l 会显示卷标名称
[root@localhost ~]# mount [-l]
  • 依据配置文件/etc/fstab 的内容,自动挂载
[root@localhost ~]# mount –a
  • 设备文件名 挂载点
[root@localhost ~]# mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] \
  • \代表这一行没有写完,换行
  • 选项:
    • -t 文件系统: 加入文件系统类型来指定挂载的类型,可以 ext3、ext4、iso9660等文件系统。具体可以参考表 9-1
    • -L 卷标名: 挂载指定卷标的分区,而不是安装设备文件名挂载
    • -o 特殊选项: 可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。具体的特殊选项,见表 9-4:

  • 举例
  • 例 1:
[root@localhost ~]# mount #查看系统中已经挂载的文件系统,注意有虚拟文件系统/dev/sda3 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)#命令结果是代表:/dev/sda3 分区挂载到/目录,文件系统是 ext4,权限是读写
  • 例 2:修改特殊权限
[root@localhost ~]# mount #我们查看到/boot 分区已经被挂载,而且采用的 defaults 选项,那么我们重新挂载分区,并采用 noexec#权限禁止执行文件执行,看看会出现什么情况(注意不要用/分区做试验,#不然系统命令也不能执行了)。…省略部分输出…/dev/sda1 on /boot type ext4 (rw)…省略部分输出…[root@localhost ~]# mount -o remount,noexec /boot#重新挂载/boot 分区,并使用 noexec 权限[root@localhost sh]# cd /boot/[root@localhost boot]# vi hello.sh#写个 shell 吧#!/bin/bashecho "hello!!"[root@localhost boot]# chmod 755 hello.sh [root@localhost boot]# ./hello.sh-bash: ./hello.sh: 权限不够#虽然赋予了 hello.sh 执行权限,但是任然无法执行[root@localhost boot]# mount -o remount,exec /boot#记得改回来啊,要不会影响系统启动的
  • 如果我们做试验修改了特殊选项,一定要记得住,而且确定需要修改,否则非常容易出现系统问题,而且还找不到哪里出现了问题。
  • 例 3:挂载分区
[root@localhost ~]# mkdir /mnt/disk1[root@localhost ~]# mount /dev/sdb1 /mnt/disk1#建立挂载点目录#挂载分区

光盘挂载

  • 光盘挂载的前提依然是指定光盘的设备文件名,不同版本的 Linux,设备文件名并不相同:
    • CentOS 5.x 以前的系统,光盘设备文件名是/dev/hdc
    • CentOS 6.x 以后的系统,光盘设备文件名是/dev/sr0
  • 不论哪个系统都有软连接/dev/cdrom,与可以作为光盘的设备文件名
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/#挂载光盘
  • 用完之后记得卸载:
[root@localhost ~]# umount /dev/sr0[root@localhost ~]# umount /mnt/cdrom#因为设备文件名和挂载点已经连接到一起,卸载哪一个都可以
  • 注意:卸载的时候需要退出光盘目录,才能正常卸载

挂载 U 盘

  • U 盘会和硬盘共用设备文件名,所以 U 盘的设备文件名不是固定的,需要手工查询,查询命令:
[root@localhost ~]# fdisk -l#查询硬盘
  • 然后就是挂载了,挂载命令如下:
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/#挂载 U 盘。因为是 Windows 分区,所以是 vfat 文件系统格式
  • 如果 U 盘中有中文,会发现中文是乱码。Linux 要想正常显示中文,需要两个条件:
    • 安装了中文编码和中文字体
    • 操作终端需要支持中文显示(纯字符终端,是不支持中文编码的)
  • 而我们当前系统是安装了中文编码和字体,而 xshell 远程终端是 Windows 下的程序,当然是支持中文显示的。
  • 那之所以挂载 U 盘还出现乱码,是需要在挂载的时候,手工指定中文编码,例如:
[root@localhost ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/#挂载 U 盘,指定中文编码格式为 UTF-8
  • 如果需要卸载,可以执行以下命令:
[root@localhost ~]# umount /mnt/usb/

挂载 NTFS 分区

  • Linux 的驱动加载顺序:
    • 驱动直接放入系统内核之中。
      • 这种驱动主要是系统启动加载必须的驱动,数量较少。
    • 驱动以模块的形式放入硬盘。大多数驱动都已这种方式保存
      • 保存位置在/lib/modules/3.10.0-862.el7.x86_64/kernel/中。
    • 驱动可以被 Linux 识别,但是系统认为这种驱动一般不常用,默认不加载。
      • 如果需要加载这种驱动,需要重新编译内核,而 NTFS 文件系统的驱动就属于这种情况。
    • 硬件不能被 Linux 内核识别,需要手工安装驱动。当然前提是厂商提供了该硬件针对 Linux的驱动,否则就需要自己开发驱动了

  • 使用 NTFS-3G 安装 NTFS 文件系统模块 
    • 下载 NTFS-3G 插件
      • 从网站 http://www.tuxera.com/community/ntfs-3g-download/下载 NTFS-3G 插件到 Linux服务器上。
    • 安装 NTFS-3G 插件
      • 在编译安装 NTFS-3G 插件之前,要保证 gcc 编译器已经安装。具体安装命令如下:
[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz#解压[root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13#进入解压目录[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure#编译器准备。没有指定安装目录,安装到默认位置中[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make#编译[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install#编译安装
  • 安装就完成了,已经可以挂载和使用 Windows 的 NTFS 分区了。不过需要注意挂载分区时的文件系统不是 ntfs,而是 ntfs-3g。挂载命令如下:
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点例如:[root@localhost ~]# mount –t ntfs-3g /dev/sdb1 /mnt/win

【注】:参考尚硅谷沈超老师教程

上一篇:Linux vim编辑器入门级教程
下一篇:Linux 系统痕迹命令

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月24日 11时41分54秒