Linux从放弃到入门:mount、umount

本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。


1 mount简介

对mount命令进行介绍之前,先简单解释下什么是“挂载”。“一切皆为文件”是linux系统的基本哲学之一,linux将所有设备都看作是文件,并为它们提供了一套统一的操作接口。当插入一块新硬盘时,起初我们是无法使用linux命令访问该硬盘内容,这是因为linux系统还识别不到它的存在。而后我们将新硬盘的分区挂载到linux根目录/的某个子目录下(最好为空),我们就可以通过访问该子目录间接访问新硬盘分区内容了。顾名思义,“挂载”就是将某个设备挂接到一个已存在的目录上,访问该目录就等同于访问被挂载的设备

mount命令用于将分区挂接到linux根目录下的某个子目录下,从而将分区和该目录衔接起来,只要访问该子目录,就等同于访问了该分区。

 

1.1 命令格式

mount -t <vsftype> [option] [-o spec_option] devicedir

 

1.2 常见vsftype

文件系统类型

说明

ext2

linux目前常用的文件系统 

msdos

MS-DOS的fat

nfs

网络文件系统

iso9660

CD-ROM光盘标准文件系统

ntfs

windows NT/2000/XP的文件系统

说明:-t <vsftype>,指定被挂载设备的文件系统类型(可通过查看/proc/filesystems内容,了解当前系统支持哪些文件系统类型;如果不指定,会自动选择正确的类型)。

 

1.3常用option

option

说明

-a

自动检查/etc/fstab文件中是否有疏漏未被挂载的设备,如果有,则自动执行挂载操作

-o

指定挂载的特殊选型,比如读写权限等(如果不指定,则使用默认值)

-n

系统默认会把挂载情况写入/etc/mtab中,但有些场景会刻意不写入,此时就需要使用该选项

-r

设置被挂载文件为只读权限

-w

设置被挂载文件为可写权限(默认为可写)

 

1.4特殊option

spec_option

说明

defaults

使用所有选项的默认值autonouserrwsuid

auto/noaunto

允许/不允许以-a选项进行安装

user /nouser

允许/不允许一般用户挂载

ro

以只读方式进行挂载

rw

以读写方式进行挂载

remount

重新安装已经安装了的文件系统

 

1.5 mount示例

1)查看已挂载的文件系统信息

root@LTY:/opt # mount

sysfs on /systype sysfs (rw,nosuid,nodev,noexec,relatime)

proc on /proctype proc (rw,nosuid,nodev,noexec,relatime)

devtmpfs on /devtype devtmpfs (rw,nosuid,size=14605236k,nr_inodes=3651309,mode=755)

securityfs on/sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)

...

说明:输出信息格式为fs_spec on fs_file type fs_vfstype(fs_mntopts)

格式

说明

fs_spec

被挂载的块设备或远程文件系统

fs_file

文件系统挂载点

fs_vfstype

文件系统类型

fs_mntopts

与文件系统相关的选项,不同文件系统,其选项也不太一样

2)输出文件系统为类型为tmpfs的文件系统信息(也可以使用findmnt命令查看挂载情况,命令格式为findmnt MOUNT_POINT | device

root@LTY:/opt # mount-t tmpfs

tmpfs on/dev/shm type tmpfs (rw,nosuid,nodev)

tmpfs on /runtype tmpfs (rw,nosuid,nodev,mode=755)

tmpfs on /tmptype tmpfs (rw,nosuid,nodev)

tmpfs on/run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=2929992k,mode=700)

3)将tmpfs挂载在/mnt/lty目录下mount + 挂载源 + 挂载点),然后用df命令查看是否已经挂载成功

root@LTY:/opt # mounttmpfs /mnt/lty

root@LTY:/opt # df| grep tmpfs

Filesystem     1K-blocks    Used Available Use% Mounted on

tmpfs           14649972       0 14649972   0% /dev/shm

tmpfs           14649972  224168 14425804   2% /run

tmpfs           14649972       0 14649972   0% /mnt/lty

 

2 umount简介

umount命令用于卸载目前挂载在linux目录的文件系统。使用umount进行卸载时,最好使用挂载点进行卸载,避免卸载时发生混乱(可能一个设备挂载了多个挂载点)。

 

2.1 命令格式

umount [option] [设备名or 挂载点]

 

2.2 umount常用option

option

说明

-a

卸除/etc/mtab中记录的所有文件系统

-n

卸除时不要将信息存入/etc/mtab文件中

-r

若无法成功卸除,则尝试以只读的方式重新挂入文件系统

-t<文件系统类型>

仅卸除选项中所指定的文件系统

-v

执行时显示详细的信息

说明:进程正在使用的设备是无法卸载的,可使用lsof MOUNT_POINT查看挂载点上运行的进程,然后使用kill命令杀死进程;或使用fuser -vmk MOUNT_POINT,查看并杀死在挂载点上运行的进程。最后再执行umount命令。

 

2.3 umount示例

1)根据设备名进行卸载(/dev/sha1)

root@LTY:/opt # umount-v /dev/sda1

/dev/sda1umounted

2)根据挂载点进行卸载(/mnt/mymount),此时无进程正在使用设备

root@LTY:/opt # umount-v /mnt/mymount/

/tmp/diskboot.imgumounted

3)根据挂载点进行卸载(/mnt/mymount),此时有进程正在使用设备(使用fuser命令杀死挂载点上的进程)

root@LTY:/opt # umount-v /mnt/mymount/

umount:/mnt/mymount: device is busy

root@LTY:/opt # fuser-vmk /mnt/mymount/

root@LTY:/opt # umount-v /mnt/mymount/

/tmp/diskboot.imgumounted

 

我的公众号「码农之屋」(id: Spider1818) ,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值