Linux中的挂载命令mount你知道怎么用吗?

嵌入式技术

1368人已加入

描述

前言

在 Linux GUI 中,我们通常理所当然地认为,当我们插入 USB 闪存驱动器、硬盘驱动器甚至 DVD 磁盘时,它们就可以使用了。但是在后台有一个过程,设备被安装(准备好使用)并分配了一个安装点。当使用服务器或远程连接时,并不能确定某个设备是否会自动可用,那么我们如何挂载自己的设备呢?下面我们一起来看一下!

mount是什么?

Linux文件系统中的所有文件都以/ 为根的大树的形式排列。这些文件可以根据您的分区表分布在各种设备上,最初你的父目录安装(即附加)到这棵树的/ ,其他的可以手动挂载使用GUI界面(如果可用)或使用挂载命令。

mount命令用于将设备上找到的文件系统挂载到以 / 为根的大树结构(Linux文件系统)上。相反,另一个命令umount可用于从树中分离这些设备。

mount的初级用法

mount命令挂载存储设备或文件系统,使其可访问并将其附加到现有目录结构。语法:

 

mount -t 类型设备目录

 

这告诉内核将设备上找到的文件系统(类型为type)附加到目录dir。dir之前的内容(如果有)、owner和mode变得不可见,只要这个文件系统保持挂载,路径名dir指的是设备上文件系统的根目录。如果没有提到目标目录,默认情况下,它将设备挂载在 /etc/fstab 文件中。其他形式:

 

mount [-l|-h|-V]
mount -a [-fFnrsvw] [-t fstype] [-O optlist]
mount [-fnrsvw] [-o options] device|dir
mount [-fnrsvw] [-t fstype] [-o options] device dir

 

这些命令告诉内核将在设备上找到的文件系统附加到dir。

示例要将硬盘驱动器的第二个分区挂载到现有目录/media/PHOTOS(挂载点):

 

$ mount /dev/hda2 /media/PHOTOS

 

显示所有已安装的分区:

 

$ mount
 proc on /proc type proc (rw) 
sysfs on /sys type sysfs (rw) 
devpts on /dev/pts type devpts (rw,gid=5,mode=620) 
/dev/sda1 on /boot type ext3 (rw ) 
/tmp on /var/tmp type none (rw,noexec,nosuid,bind) 
10.4.0.4:/srv/export/setup_server on /nfs/setup_server type nfs (ro,addr=10.4.0.4)

 

如果需要卸载刚才的分区:

 

$ umount /dev/hda2

 

参照挂载点卸载:

 

$ umount /media/PHOTOS

 

使用特定选项重新挂载分区:

 

$ mount -o remount,rw /dev/hda2

 

umount的初级用法

umount命令从文件层次结构中分离指定的文件系统。一个文件系统是通过给出它被安装的目录来指定的。提供文件系统所在的特殊设备也可以工作,但这是一种过时的方法,主要是因为如果该设备安装在多个目录上,它会失败。

但是需要注意,文件系统在繁忙时无法卸载 。例如,当它上面有打开的文件时,或者当某个进程在那里有它的工作目录时,或者当它上面的交换文件正在使用时,umount将无法成功。

有些无法使用umount的进程甚至可能是umount本身——例如,umount打开公共C库,而后者又可能打开了语言环境文件,如果它们在相关设备上,则会阻止它被卸载。即使出现这种冲突,“惰性”卸载(参见下面卸载选项部分中的-l )也会尝试卸载。

高级用法

显示有关已安装文件系统的信息:
Linux

挂载文件系统:
Linux

显示版本信息:
Linux

卸载文件系统:
Linux

绑定挂载

绑定挂载允许将文件系统层次结构或文件挂载到不同的挂载点。与符号链接不同,文件系统本身不存在绑定挂载。在下面的例子中,路径/olddir将被挂载在/newdir

 

$ mount --bind /olddir /newdir

 

如何在 Linux 上挂载和卸载驱动器

可以使用终端安装 SSD、USB 闪存驱动器、HDD 和 ISO 映像。在终端仿真器中使用命令行界面 (CLI) 可以让我们更好地控制何时安装驱动器以及它们在文件系统中的安装位置。

Linux
在这里插入图片描述

使用 lsblk 命令识别 USB 驱动器。在结果中,您可能会看到许多标记为“循环”的条目。但是,您正在寻找被列为sda或sdb的结果,以识别连接到您的系统的物理磁盘。比较所连接驱动器的列出容量通常可以帮助您发现目标驱动器的名称。在我们的例子中,我们可以将 USB 驱动器识别为 sdb1。
Linux

创建一个目录来挂载 USB 驱动器。当外部驱动器自动挂载时,它通常挂载在媒体目录中。但是使用 CLI,我们可以创建并指定一个目录,我们将在其中挂载我们的 pendrive。请注意,我们需要使用sudo来调用 root 权限,以便在媒体目录中创建一个目录。

 

sudo mkdir /media/pendrive

 

使用mount命令将 U 盘挂载到/media/pendrive目录。mount命令具有以下语法;

 

sudo mount /dev/sdb1 /media/pendrive

 

通过重新运行lsblk检查驱动器是否已安装。

请注意, lsblk输出中的最后一列列出了列出设备的挂载点,如果列出了挂载点,则确认该设备已挂载。

Linux
在这里插入图片描述

结语

使用mount命令我们可以更好地控制在 Linux 中挂载和卸载磁盘,并掌握一些技巧,在连接的驱动器无法自动正确挂载时可能会有所帮助。

在探索以前使用的系统的旧备份映像或想要查看 Linux 发行版映像内容以进行探索或学习时,能够使用循环设备挂载磁盘映像非常有用。

    审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分