×

linux中的挂载命令,linux查看mount记录 mount自动挂载目录

hqy hqy 发表于2022-11-17 10:40:20 浏览1671 评论0

抢沙发发表评论

linux中的挂载命令,linux查看mount记录


mount命令装载文件系统。 其基本命令格式为mount-ttype [-o选项] devicedirdevice。 指定要挂载的设备,如磁盘、光驱等。 dir指定装载文件系统的目录。 类型指定要挂载的文件系统的类型。 通常不指定也可以自己判断mount命令。 选项:指定装载参数。 例如,ro表示以只读方式装载文件系统。

帮助

使用man page和-h选项可以获取最直接的帮助文档。

$manmount$mount-h

文件系统类型

在许多情况下,不需要指定-t参数来明确说明文件系统类型,但文件系统类型对mount命令非常重要。 因为,如果尝试挂载当前系统不支持的文件系统,它将不起作用。 当前系统支持的文件系统类型由内核决定,默认情况下支持常见的文件系统,如ext2、ext3、ext4、sysfs和proc。 可以查看/proc/filesystems文件以确定当前系统支持的文件系统。

$ cat/proc /文件系统

第一列指示是否需要在块设备上挂载文件系统,而nodev指示后续文件系统不需要在块设备上挂载。 第二列是内核支持的文件系统。

查看输出的文件系统信息

使用mount命令显示挂载的文件系统时,将显示丰富的信息,如下图所示。

首先,让我说明一下输出信息的格式和含义。 输出中的每一行表示挂载的文件系统。 其格式为fs_speco NFS _ filetype fs _ VFS type (fs _ mnt opts ) fs _ spec :挂载的块设备或远程文件系统fs_file :文件系统例如,上图中的第一行表示装载的设备是sysfs,装载点是/sys,文件系统类型是sysfs。 括号中的rw表示可读写地装载文件系统,noexec表示不能直接在该文件系统上运行程序。

与mount命令相关的文件

/etc/fstab/etc/mtab/proc/mounts

mount -a乘以/etc/fstab中定义的所有挂载点。 (通常在系统启动时的脚本中调用,所以最好不要自己使用。 请参阅。

mount和umount命令维护当前挂载在/etc/mtab文件中的文件系统的列表。 当前系统也支持此文件。 但是,更好的方法是使用链接文件/proc/mounts代替/etc/mtab文件。 这是因为在用户空间中维护的常见文件/etc/mtab很难与Linux高级功能(如namespaces和containers )稳定可靠地协作。 在ubuntu 16.04中,/etc/mtab是指向/proc/self/mounts的链接文件,与/proc/mounts类似。

以下是mount命令的一些常见用例。

查看挂载的文件系统

输出系统挂载的所有文件系统如果运行mount命令(无参数),将输出系统挂载的所有文件系统。

$mount

输出指定类型的文件系统-t参数仅允许输出指定类型的文件系统。 例如,以下命令仅打印tmpfs类型的文件系统:

$mount-ttmpfs

格式化和装载磁盘

对于磁盘分区,可以使用mkfs命令将磁盘分区格式化为指定的文件系统,例如ext4。

$sudomkfs-text4/dev/sdb1

然后,在/mnt目录中装载分区。

$sudomount/dev/sdb1/mnt

安装光驱

现在偶尔需要用光驱。 装载光驱的命令如下:

$sudomount/dev/cdrom/mnt

此命令将设备/dev/CD-rom挂载到/mnt目录中,以便可以从/mnt目录下访问cdrom驱动器的内容。

装载为只读

可以将文件系统装载到只读模式以保护数据。 例如,以只读模式将/dev/sdb1置于/mnt目录中:

$sudomount-oro/dev/sdb1/mnt

因此,/mnt目录下的所有文件都是只读的。

将只读装载重新装载到读写模式

如果系统出现故障,进入单用户模式,则正常/根目录将挂载为只读;如果尝试修改文件,则可以看到所有文件都是只读的,无法修改。 幸运的是,Linux上的mount命令支持remount选项,只需运行以下命令:

$mount/-orw,remount

>

就可以将根分区重新挂载为读写状态。

除了根目录,重新挂载其它挂载点也是一样的,比如我们把前面挂载的 sdb1 分区重新挂载为读写模式:

$ sudo mount /mnt -o rw,remount


挂载 windows 共享文件

局域网中一般都是 windows 系统和 Linux 系统共存的,如果能轻松的从 Linux 系统中访问 windows 的文件共享将是一件很开心的事情。其实这也很简单,在 windows 上共享文件时指定一个本机的用户,然后在 mount 命令中指定这个用户及其密码就可以了:

$ sudo mount -t cifs -o username=nick,password=Test123456 //10.32.2.30/doc /mnt


注意,-t cifs 是可以省略的,mount 命令能够自动识别。一定要使用 IP 代替 windows 主机的名称。

挂载虚拟文件系统

proc、tmpfs、sysfs、devpts 等都是 Linux 内核映射到用户空间的虚拟文件系统,它们不和具体的物理设备关联,但它们具有普通文件系统的特征,应用层程序可以像访问普通文件系统一样来访问他们。比如内核的 proc 文件系统默认被挂载到了 /proc 目录,当然我们也可以再把它挂载到其它的目录,比如 /mnt 目录下:

$ sudo mount -t proc none /mnt

由于 proc 是内核虚拟的一个文件系统,并没有对应的设备,所以这里的 -t 参数不能省略。由于没有对应的源设备,这里的 none 可以是任意字符串,取个有意义的名字就可以了,因为用 mount 命令查看挂载点信息时第一列显示的就是这个字符串。

在 Linux 上我们还可以通过 tmpfs 文件系统轻松地构建出内存磁盘来。比如在内存中创建一个 512M 的 tmpfs 文件系统,并挂载到 /mnt 下,这样所有写到 /mnt 目录下的文件都存储在内存中,速度非常快,不过要注意,由于数据存储在内存中,所以断电后数据会丢失掉:

$ sudo mount -t tmpfs -o size=512m tmpfs /mnt

挂载 loop 设备

在 Linux中,硬盘、光盘、软盘等都是常见的块设备,他们在 Linux 下的目录一般是 /dev/sda1、/dev/cdrom、 /dev/fd0 这样的。而 loop device 是虚拟的块设备,主要目的是让用户可以像访问上述块设备那样访问一个文件。 loop device 设备的路径一般是 /dev/loop0、dev/loop1 等,具体的个数跟内核的配置有关。

挂载 ISO 文件需要用到 loop device 的最常见的场景是挂载一个 ISO 文件。比如将 /tmp/test.iso 这个光盘镜像文件使用 loop 模式挂载到 /mnt 下,这样就不需要把 ISO 文件刻录到光盘上了,当然也不需要光驱了。下面的命令把 projects 目录下的内容打包到 test.iso 文件中:

$ mkisofs -o test.iso projects/

然后把这个 ISO 文件挂载到 /mnt 目录下:

$ sudo mount test.iso /mnt


挂载 test.iso 文件使用了虚拟设备 /dev/loop0,并且是只读的模式。

虚拟硬盘loop 设备另一种常见的用法是虚拟一个硬盘,比如我想玩儿一下 btrfs 这个文件系统,但系统中目前的所有分区都已经用了,里面都是有用的数据,不想格式化他们,这时虚拟硬盘就有用武之地了。

我们先通过 dd 命令创建一个 512M 的文件:

$ dd if=/dev/zero bs=1M count=512 of=./vdisk.img

然后在这个文件里面创建 btrfs 文件系统:

$ sudo apt install btrfs-progs

$ mkfs.btrfs vdisk.img

最后把它挂载到 /mnt :

$ sudo mount vdisk.img /mnt

把多个设备挂载到同一个目录

在 Linux 中可以把多个设备挂载到同一个目录。默认后面挂载的内容会让前面挂载的内容隐藏掉,只有 unmount 了后面挂载的内容,才会显示原来的内容。

挂载一个设备到多个目录

我们也可以把同一个设备挂载到不同的目录,这样在不同的目录中看到的是同样的内容。还可以在不同的目录中控制挂载的权限,比如以只读方式挂载:

$ sudo mount -o ro vdisk.img ./testdir

这样从不同的目录访问相同的文件系统时就具有了不同的访问权限。

总结

mount 是 Linux 系统中非常重要的一个命令,因为离开 mount 挂载的文件系统我们几乎什么也干不了。本文介绍了一些 mount 命令的基础用法 ,日常使用应该是够了。mount 命令还有一些相关的复杂概念和用法,比如 bind mount 和 shared subtree 等,笔者会在今后写专门的文章进行介绍。


打赏

本文链接:https://www.kinber.cn/post/3003.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客