Linux挂载命令mount 详解

在Linux操作系统中,mount命令是用于加载文件系统到指定的加载点。此命令最常用于挂载cdrom,使我们可以访问cdrom中的数据,当你将光盘插入cdrom中时,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。在这里需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,只有在umount卸载以后才会恢复正常,而且只有目录才能被挂载,文件不可以被挂载,而如果挂载在非空目录下可能会导致系统异常,所以建议挂载在空目录下。对于经常使用的设备可写入文件/etc/fastab,以使系统在每次开机时自动加载。mount加载设备的信息记录再/etc/mtab文件中,可使用umount命令卸载清除记录。

###用法: mount+挂载源 +挂载点              umount+挂载源 /挂载点

Linux挂载命令mount 详解

Linux挂载命令mount 详解

Linux挂载命令mount 详解

---------------------------------------------------------------------------------------

###参数:

-r 只读

-w 读写 默认

-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。

-f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。

-v:显示较讯息,通常和 -f 用来除错。

-L:将含有特定标签的硬盘分割挂上。

-U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。

-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。

-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。而在这种操作下,运用mount命令跟df命令均无法查看挂载信息,但可以用proc/mounts查看,注意在linux操作系统中直接输入mount命令,可以查询已挂载的信息。

-a:将 /etc/fstab 中定义的所有档案系统挂上,此操作可实现开机自动挂载的要求。而当写入/etc/fstab文件后,挂载操作也可以只指定挂载源或挂载点,示例说明

(1)我们先把“/dev/sdb /app/testdisk ext4 defaults 0 0”挂载信息写入“/etc/fstab”文件中,并查看系统挂载信息,可以看到/dev/sdb并未完成挂载。

Linux挂载命令mount 详解

Linux挂载命令mount 详解

(2)然后我们重启系统,并再次查询挂在信息,这次我们就可以看到/dev/sdb已被挂载。

Linux挂载命令mount 详解

(3)我们现在返回到第二步之前,我们不重启系统然后执行以下“mount -a”命令,再查询挂载信息,你会发现“/dev/sdb”又被挂载了。

Linux挂载命令mount 详解

由此,我们可以得出,实际上当计算机开机的时候也就相当于执行了“mount -a”命令,它把“/etc/fstab”文件里的所有挂载信息全都执行了一遍。而当“/etc/fstab”文件里有挂载信息后,我们在系统里就可以只输入挂载源或挂载点,然后系统就会自动从“/etc/fstab”文件读取剩余信息,并完成挂载,操作如下

Linux挂载命令mount 详解

或输入

Linux挂载命令mount 详解

-B 目录挂载目录,文件挂载文件 “df”命令无法查询但 可以用“df -a”查看。我们先创建一个新目录“test”,之前知道在系统如果执行mount /app app/test 操作,系统就会报错,提示“/app”不是块设备,但我们执行“mount -B /app app/test”就可以成功挂载,示例如下

Linux挂载命令mount 详解

“df”命令查不到,但用“df -a”可以查看到,如图

Linux挂载命令mount 详解

但我们从图上可以看出挂载在“/app/test”上的挂载源跟“/app”的挂载源是一样的,也就是说并不是把“/app”挂载在“app/test”上,而是把“/app”的源“/dev/sda5”挂载在“/app/test”上。

-o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。-o async为默认设置

-o sync:在同步模式下执行。

-o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。-o atime 为默认设置,示例说明,如下

(1)我们先在“hello”文件下写入内容,然后在“touch hello”使它的时间戳保持一致

Linux挂载命令mount 详解

(2)我们看一下“hello”这个文件,就可以改变它的“atime”,也就是说只要有访问“atime”就会更新

Linux挂载命令mount 详解

(3)那我们如果想要关闭“atime”访问自动更新,就可以在挂载的时候进行“mount -o noatime”操作

Linux挂载命令mount 详解

Linux挂载命令mount 详解

这样我们就可以发现当有访问的时候,“atime”也一直都保持不变,这样我们就关闭了“ayime”时间。

-o auto、-o noauto:打开/关闭自动挂上模式。-o auto 为默认设置

-o dev、-o nodev-o exec、-o noexec允许执行档被执行。-o dev 为默认设置

-o suid、-o nosuid:表示该目录下的suid,sgid权限生效/不生效。-o suid 为默认设置

-o user、-o nouser:使用者可以执行 mount/umount 的动作。-o nouser 为默认设置

-o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。

-o ro:用唯读模式挂上。

-o rw:用可读写模式挂上。为默认设置

-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

-o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, async,即默认设置。

---------------------------------------------------------------------------------------

###findmnt

findmnt MOUNT_POINT|device  查看挂载情况,操作如下

Linux挂载命令mount 详解

---------------------------------------------------------------------------------------

###卸载

umount 解除挂载命令

注意,进程正在使用的设备无法被卸载。

lsof +挂载点,查看在指定挂载点上运行的程序,显示其进程号    kill +进程号  可以结束指定进程

Linux挂载命令mount 详解

当你结束了进程以后就可以执行卸载命令啦

Linux挂载命令mount 详解

fuser+挂载点 可以查看并杀死在挂载点上执行的程序

-v 详细查看

-m 递归,如不加m,只查看挂载点自身,不查看子目录

-k 结束进程

-vmk 组合选项可以一起使用

Linux挂载命令mount 详解

到这里,关于mount命令的介绍基本上就结束了,总体上来说mount命令还是相对比较容易接受和掌握的,只要记清mount命令选项,在Linux里挂载、卸载将会变得非常的容易。

相关推荐