linux 挂载管理,linux磁盘管理说明(8)文件系统的挂载(上)

linux磁盘管理说明(8)文件系统的挂载(上)

linux磁盘管理说明(8)文件系统的挂载(上)

?文件系统的挂载点是目录,这个目录就是挂载的文件系统的入口,文件系统只有被挂载上了之后才能访问,而移除外部存储设备时,请记得一定要卸载该设备。文件系统的挂载与卸载最常用的命令就是mount/umount,接下来我们介绍这两个命令。

mount

标准格式:

mount?-t?文件系统类型?设备文件名?目录

23e8ea9d64476324ed0730f3db721063.png?目录如果不是空目录,那么以前的内容在设备挂载期间不可访问

列出当前挂载的文件系统:

f13a8e2e90e591d508f26fdcf0b074a4.png?列出当前挂载的所有文件系统

d310a65b92dff53f35dac9bb2ebb38c9.png?指定列出文件系统的类型

49f86211163ba1665a49756c869fdd48.png?修改文件系统的label

322b06bce4fa776497329c578f788515.png?-l?参数在结果中显示label

/etc/fstab及/etc/mtab:

如果被挂载设备记录在/etc/fstab或/etc/mtab中,那么仅用设备文件名或者目录就可以挂载完成。

95850c796297fc9e604da037c270dddf.png?传统上将当前挂载的文件系统记录在/etc/mtab文件中,不过现在这个文件一般被链接到/proc/mounts之类文件

而/etc/fstab这个文件则关系着开机自动挂载,它的格式如下

5d51370f91a027c32c6ed54e7551475d.png从左到右,内容被空格分开成六段,第一段,设备文件名或LABEL=或UUID=这样,用来指定挂载的设备,在挂载网络设备时请使用UUID最好。第二段,目录,也就是挂载点,这里需要注意的是,如果路径中有空格可以用转义字符“\040”代表空格。第三段,文件系统类型。

第四段,文件系统挂载参数,每个参数之间用逗号隔开,大致包含这些内容:

?Async/sync?设置是否为同步方式运行,默认为async

?auto/noauto?当下载mount -a 的命令时,此文件系统是否被主动挂载,默认为auto

?rw/ro?以只读或者读写模式挂载

?exec/noexec?此文件系统内是否能够执行二进制文件

?user/users/nouser?任意用户挂载/users组中的用户挂载/仅root可以挂载

?owner?允许设备所有者挂载

?dev/nodev?是否解析文件系统上的块特殊设备

?suid/nosuid?是否允许SUID的存在

?Usrquota?启动文件系统支持磁盘配额模式

?Grpquota?启动文件系统对群组磁盘配额模式的支持

?noatime?不更新文件系统上 inode 访问记录

?nodiratime?不更新文件系统上的目录 inode 访问记录

?relatime?实时更新 inode access 记录,只有在记录中的访问时间早于当前访问才会被更新

?flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失

?nofail?启动时设备不存在也不报错,一般用在外部设备上

?defaults?包含rw, suid, dev, exec, auto, nouser, async

第五段,是否通过dump工具进行备份,0忽略,1备份,一般设为0即可。

第六段,是否通过fsck进行检查。1优先检查,2次优先检查,0忽略。

注意:我们可以使用mount -a来验证/etc/fstab是否正确,但是更推荐使用findmnt --verify。

Bind mounts:

将一个目录挂载到另一个目录(如此产生的目录间的对应关系存在于内存中,重启会失效,如果想长期生效,可以将其添加到开机自启脚本中)

336996df7326c18102ff8e4e2766eab2.png?两个目录初始状况

294f24dc69311c35b74e6932e03ae2b5.png?写入/etc/fstab文件的话可以这样写“目录1 目录2 none bind 0 0”

ad7b84a46d0dce844c4f6cfb33e19c41.png?挂载后原目录下的文件和子目录被隐藏,显示内容与挂载的目录相同

feefc8f0907be24a8c494695bd4c9628.png?在一个目录的操作会同步到挂载的目录内

e81aef129fd06a6b851032b094713e05.png?取消挂载后被挂载的目录内容恢复原样

如果要挂载的旧目录的下级子目录上还挂载有文件系统,那么就可以使用mount --rbind/R 旧目录 新目录 ,这种方式挂载。

移动操作:

将一个目录移动到另一个目录,而文件的物理位置不变

mount?--move/M?旧目录?新目录

这将导致旧目录中的内容完全转移到新目录中来访问,但是文件的真实物理位置保持不变

注意:旧目录必须是一个挂载点,且不能位于带有"shared"属性的挂载点之下

6b7208fe983e60d114a66f33222aee8b.png?使用默认选项挂载时,子挂载点的propagation type会与父挂载点相同

上图中的private是挂载点的propagation type,它决定了当一个挂载点的下面创建和移除挂载点的时候,是否会传播到属于相同peer group(peer group就是一个或多个挂载点的集合,mount --bind命令就会使旧目录和新目录两个挂载点属于同一个peer group)的其他挂载点下去。

11c953e9497e8ce6be2bd32398c2aca3.png?124即为peer group且两个目录相同

propagation type也有四种:

?shared?挂载信息会在同一个peer group的不同挂载点之间共享传播

?private?挂载信息根本就不共享,private的挂载点不会属于任何peer group

?slave?信息的传播是单向的,在同一个peer group里面,master的挂载点下面发生变化的时候,slave的挂载点下面也跟着变化,但反之则不然

?unbindable?这个和private相同,只是这种类型的挂载点不能作为bind mount的旧目录

显式挂载四种propagation type:

?mount?--make-shared mountpoint

?mount?--make-slave mountpoint

?mount?--make-private mountpoint

?mount?--make-unbindable mountpoint

显式递归挂载挂载点及一下的propagation type:

?mount?--make-rshared mountpoint

?mount?--make-rslave mountpoint

?mount?--make-rprivate mountpoint

?mount?--make-runbindable mountpoint

mount命令常用参数:

最终生效的参数由下列三部分组成:首先,从 fstab 中得到的参数;其次,命令行选项 -o 中设置的参数;最后,再加上 -r 或 -w 参数。

-a?挂载/etc/fstab文件中所有的文件系统,除了参数中包含noauto的

-B?即是–bind参数

-c?不对路径进行规范化, mount 默认会将所有来自命令行和 fstab 的路径进行规范化之后再写入 /etc/mtab 文件,这个选项可以和 -f 一起用于已经规范化了的绝对路径

-F?(与 -a 连用)为每个设备都产生一个新进程来挂载,这样可以并行地挂载不同的设备或连接不同的NFS服务器。 这样挂载速度更快,同时NFS服务器延时也是并行的,但是是挂载顺序是不定的

-f?不实际执行挂载,通常可以用来与-v连用,查看挂载动作会做些什么事情。也可以用来向/etc/mtab中添加先前被-n抛弃的信息条目。才选项会检查/etc/mtab中已存在的条目,若重复则返回错误

-i?不调用 /sbin/mount.TYPE 辅助程序,即使它真实存在

-L?此参数后接Label,挂载签名为此Label的分区

-l?在输出中添加文件系统的Label

-M?即是–move

-n?不向/etc/mtab中添加挂载信息,在/etc目录位于只读的文件系统时很有用

-O?与-a联用以指定-a 处理的文件系统的集合,例如mount -a -O no_netdev这条命令会挂载/etc/fstab文件中所有文件系统,除了挂载参数中含有netdev的。它还可以和-t连用,两个参数效果是累积的,例如mount -a -t?ext2 -O _netdev??这条命令表示挂载所有ext2类型且含有_netdev参数的文件系统

-o?用以指定文件系统挂载参数,即/etc/fstab第四段的内容,各个参数间用逗号隔开

-R?即是–rbind

-r?以只读方式挂载,相当于“-o ro”

-s?以宽容模式挂载,忽略文件系统不支持的挂载参数, 目前只有 mount.nfs 挂载帮助程序支持

–source?设备文件名??显示指定这个是设备而不是挂载点

–target?目录??显示指定这个是挂载点而不是设备

-T?路径??指定另外的fstab文件(默认在/etc/fstab),如果路径是一个目录,那么此目录中的文件将由 strverscmp(3) 工具进行排序,并且以"."开头或者不以 .fstab 结尾的文件都将被忽略。此参数可以多次使用,以指定多个 fstab 文件。主要是用于 initramfs 或 chroot 环境中

-t?文件系统类型??指定挂载的文件系统类型,可以指定多个,用逗号隔开

edb86eae8768d728fbfe7a83fcb178a2.png?查看当前支持的文件系统

553ead595ee3c99a396cbbf857b8186f.png

在指定文件系统类型时,前缀"no"表示不使用这些文件系统

这种做法对于选项 -a 十分有用,但是写在/etc/fstab文件中时无效

54b7ecb6c22a5d4fb9be39ef1063d91b.png?如此指定的是挂载所有文件系统除了ext3和msdos

?大多数文件系统并不需要特别指定文件系统类型,少数文件系统(nfs, nfs4, cifs, smbfs, ncpfs)则需要,以启动它们单独的挂载程序

-U?UUID??用UUID指定要挂载的分区

-w?以可读可写的方式挂载,相当于“-o rw”,默认参数

linux磁盘管理说明(8)文件系统的挂载(上)相关教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值