首页 > 系统相关 >【linux】循序渐进学运维-基础篇-mount

【linux】循序渐进学运维-基础篇-mount

时间:2023-04-27 11:03:28浏览次数:39  
标签:学运 mount mnt dev gaosh linux 挂载 root


文章目录

  • 1. mount 命令的讲解
  • 1)作用: 用来挂载文件系统的命令
  • 2)基本格式为:
  • 3)常见的文件系统类型有:
  • 4)查看当前系统都支持哪些操作系统
  • 5)挂载选项详解
  • 6)与mount相关的文件
  • 7)与mount相关的参数
  • 2. mount使用举例
  • 1. 允许可执行权限和不可执行权限
  • 2.sync && async 同步写入和异步写入
  • 3.acl的使用
  • 4. 使用UUID进行挂载
  • 总结


大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第48篇原创文章。

今天我们来聊聊mount的使用

1. mount 命令的讲解

mount

1)作用: 用来挂载文件系统的命令
2)基本格式为:

挂载选项 -t 文件系统类型 -o 选项1,选项2…
示例:
mount -t ext4 -o acl /dev/sdb1 /mnt/
例句暂时看不懂也没关系,一会我们细细道来.

3)常见的文件系统类型有:

  • ext3
    等等

目前centos7的系统为XFS

4)查看当前系统都支持哪些操作系统

关于上文的 -t参数,我们很多时候是不写的,但是-t参数指定文件系统类型这件事却很重要。我们可以通过查看filesystems配置文件,来查看当前系统都支持哪些文件系统

【linux】循序渐进学运维-基础篇-mount_文件系统

上述示例里第二个参数 -o

5)挂载选项详解

-o后面指定的是挂载选项,挂载选项有很多

选项

含义

rw

读写

ro

只读

suid

支持suid

dev

支持设备文件

nodev

不支持设备文件

noexec

不允许执行二进制文件

exec

允许执行二进制文件

auto

mount -a 开机自动挂载

noauto

mount -a 开机不自动挂载

async

异步写入

sync

同步同入

noatime

不更新访问时间atime

usrquota

支持用户级磁盘配额功能

grpquota

支持组级磁盘配额功能

acl

支持acl功能 (访问控制列表)

remount

在线重新挂载

所以在这个示例中mount -t ext4 -o acl /dev/sdb1 /mnt/, -o后面的acl表示的就是支持访问控制列表。

到这里,相信这条示例命令你也看懂了,但看懂了只是开始,接下来,我们详细聊下关于mount的前世今生。

6)与mount相关的文件
  • /etc/fstab (设置自动挂载的文件)
  • /etc/mtab
  • /proc/mounts
7)与mount相关的参数

参数

含义

-r

只读

-w

读写 默认

-F

这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行

-v

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

-L

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

-U

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

-t

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

-a

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

2. mount使用举例

1. 允许可执行权限和不可执行权限

exec/noexec

[root@gaosh-1 ~]# ll /dev/sdb*   目前有一块sdb1的盘
brw-rw----. 1 root disk 8, 16 6月  25 17:01 /dev/sdb
brw-rw----. 1 root disk 8, 17 6月  25 17:31 /dev/sdb1
[root@gaosh-1 ~]#

创建两个目录,一个用于挂载可执行权限目录,一个用于挂载不可执行权限目录

【linux】循序渐进学运维-基础篇-mount_文件系统_02

挂载并测试:

[root@gaosh-1 ~]# mount /dev/sdb1 /mnt/gexec     挂载到可执行二进制目录gexec
[root@gaosh-1 ~]#  cp -rf /bin/date /mnt/gexec   #拷贝一个二进制文件过来测试
[root@gaosh-1 ~]# /mnt/gexec/date                #执行命令发现可以执行成功
2020年 06月 25日 星期四 21:13:51 CST
[root@gaosh-1 ~]#

上述的例子证明了,挂载后可以执行二进制目录,但是没有证明如果加了参数noexec,就不能执行二进制, 我们来试试

[root@gaosh-1 ~]# df -h  
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        20G  3.8G   15G  21% /
tmpfs           1.8G  228K  1.8G   1% /dev/shm
/dev/sda1       190M   40M  141M  22% /boot
/dev/sdb1       4.9G   11M  4.6G   1% /mnt/gexec
[root@gaosh-1 ~]# umount /mnt/gexec/   先卸载掉重新挂载到另外一个目录 nexec
[root@gaosh-1 ~]#

接下来我们使用不支持可执行权限的挂载方法,noexec,并测试

[root@gaosh-1 ~]# mount -o noexec /dev/sdb1 /mnt/nexec/    #此处使用-o noexec参数

测试:

【linux】循序渐进学运维-基础篇-mount_运维_03


可以看到,同样是拷贝过去二进制文件,但是执行的时候却提示权限不够。

2.sync && async 同步写入和异步写入
[root@gaosh-1 ~]# mkdir /mnt/test1
[root@gaosh-1 ~]# mount /dev/sdb1 /mnt/test1/
[root@gaosh-1 ~]# mount
/dev/sdb1 on /mnt/test1 type ext4 (rw)

不加参数,默认是异步写入,可以看到,rw权限

[root@gaosh-1 test1]# time cp -rf /etc/ /mnt/test1    #查看写入时间

real    0m0.112s
user    0m0.000s
sys     0m0.111s

如果加了 -o sync参数我们来看一下:

[root@gaosh-1 ~]# umount /mnt/test1/   #卸载掉test1
[root@gaosh-1 ~]# mkdir /mnt/test2    # 创建test2目录
[root@gaosh-1 ~]# mount -o sync /dev/sdb1 /mnt/test2  使用sync同步写入挂载

/dev/sdb1 on /mnt/test2 type ext4 (rw,sync)   #可以看到rw,后面多了个同步写入
[root@gaosh-1 ~]# time cp -rf /etc/ /mnt/test2  查看写入时间

real    0m5.267s
user    0m0.004s
sys     0m1.322s

可以明显看到同步时间较长一些:因为同步的时候client获取响应需要等待刷盘时间。但并不是所有情况下异步都比同步快。

所以这里胜寒表示: 时间快慢仅在此实验有效。

3.acl的使用

设置自动挂载

vim /etc/fstab

【linux】循序渐进学运维-基础篇-mount_文件系统_04


查看一下,目前没有挂载:

【linux】循序渐进学运维-基础篇-mount_文件系统_05

执行mount -a自动挂载

【linux】循序渐进学运维-基础篇-mount_文件系统_06

[root@gaosh-1 ~]# mount

/dev/sdb1 on /mnt/test1 type ext4 (rw,acl)
4. 使用UUID进行挂载

查看uuid

[root@gaosh-1 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="37c948a1-d0b9-49ff-923c-f3eac30eb0f3" TYPE="ext4"

vim /etc/fstab

【linux】循序渐进学运维-基础篇-mount_mount_07


保存退出:然后使用 mount -a

总结

虽然mount的参数比较多,但不是每个参数都需要掌握,学会使用 /etc/fstab, 设置自动挂载。

我是高胜寒,一个在教培行业不忘初心的人,欢迎点赞收藏,我们下篇文章再见!


标签:学运,mount,mnt,dev,gaosh,linux,挂载,root
From: https://blog.51cto.com/zmedu/6229943

相关文章

  • 【MySQL】linux平台下安装配置MySQL- rpm包的方式
    文章目录一.前言二.rpm包下载1)选择mysqlcommunityserver2)我们选择其他GA版本3)选择5.6的版本下载三.上传到服务器四.安装mysql五.启动mysql并检查是否启动六.查看登陆密码并登陆七.日志及配置文件目录总结:一.前言mysql的安装相对来说比较简单,在centos6的系统里使......
  • Linux 存储结构与磁盘划分
    主要常见的目录定义1.      /boot            开机所需文件----内核,开机菜单及所需配置文件2.      /dev             任何设备与接口都以文件形式存放在这目录3.      /etc              配置文件4.      /hom......
  • Linux common clock framework(2)_clock provider
    1.前言本文接上篇文章,从clockdriver的角度,分析怎么借助commonclockframework管理系统的时钟资源。换句话说,就是怎么编写一个clockdriver。由于kernel称clockdriver为clockprovider(相应的,clock的使用者为clockconsumer),因此本文遵循这个规则,统一以clockprovider命名。2.......
  • Linux(Centos7)failed to start lsb bring up/down 反其道解决
    VM虚拟机里装的CentOS7,之前用的好好的,突然就连不上网了。使用命令:systemctlrestartnetwork.service提示错误:  注:网截图了,用网友的按提示输入:systemctlstarusnetwork里面有行错误提示: failedtostartlsbbringup/down网上找了一圈,大部分说是 ......
  • Linux基础
    Linux基础1课程主要内容1.1Linux在什么地方使用1.2Linux的应用领域1.3Linux入门概述吉祥物创始人Linux和Unix的关系图1.4安装VM,CentosVM和Linux的关系网络连接三种模式虚拟机克隆虚拟机快照新建hello2虚拟机迁移和删除移除之后,文件夹......
  • Linux 进阶
    Linux定制篇1shell1.1定义1.2入门案例1.3变量环境变量位置参数变量预定义变量1.4运算法1.5条件判断1.6流程控制ifcaseforwhileread获取输入1.7函数系统函数自定义函数1.8定时......
  • linux开发记录:在linux环境下编写代码(2)
    man(manual)指令man是手册指令,用来查询关键字的相关文档,帮助开发者或管理员更好的熟悉关键字。常用的man2一般是查询系统自带的函数相关信息man1一般是查询可执行的命令行 vi下的一些命令最近学习了一些新的开发过程的快捷键dd:delete,删除光标......
  • Linux安装
    1Linux系统安装1.1Unix哲学思想一切都是一个文件(包括硬件)小型,单一用途的程序链接程序,共同完成复杂的任务(shell脚本)避免令人困惑的用户界面配置数据存储在文本中1.2Linux各种版本CentOS各版本介绍https://zh.wikipedia.org/wiki/CentOSRHEL各版本介绍https://zh.wikipe......
  • Linux内核分析:深入理解进程切换
      我们知道进程切换就是变更进程上下文,而实现上下文切换的函数就是context_switch函数,该函数为kernel/sched/core.c文件中,代码如下:/**context_switch-switchtothenewMMandthenewthread'sregisterstate.*/static__always_inlinestructrq*context_swit......
  • Linux的FTP服务及配置
     8.3.1 FTP简介FTP用户授权 本地用户 本地用户可以通过输入自己的账号和密码进行登录。当登录成功后,其登录目录为系统提供给该用户的根目录($HOME),如/home/user1,用户利用FTP访问该目录如同在本地一样,可以下载及上传文件。Guest用户某些特定用户提供公共账号和密码,且此账号......