复习之linux存储的基本管理

news2024/11/26 3:26:04

一、实验环境的设定

1. 实验环境的搭建

本节内容只需要一台虚拟机 westosa

  • reset重置虚拟机,保证实验环境的纯净
  • 配置网络实现ssh连接

重置虚拟机后,配置网络,设定ip:172.25.254.100,保证与主机可以通信

 实现ssh连接

2. 添加硬盘

# cat    /proc/partitions:查看硬盘信息

此时虚拟机westosa只有vda 一块硬盘

 可以添加一块硬盘,步骤如下:

 添加成功后,再次查看硬盘信息,发现有两快,并且第二块的大小是5GB!与设定一致!

 二、设备文件的查找

1. find命令

find+目录+查找命令

  • - name:按名字查找
  • - user:按文件所有人查找
  • - group:按文件所有组查找
  • - type :按文件类型查找
  • - perm:按权限查找
  • - exec:查找后进行处理
  • - maxdepth:查看的最大深度
  • - mindepth:查找的最小深度
  • - cmin:按操作时间进行查找
  • - size:按大小查找
  • - o:或者
  • - a:并且
  • - not:不是

2. 实验

建立实验素材,在/mnt/下建立5 个文件并修改其所有人所有组!

(1)按照名字查找

 # find  /mnt/   -name   westos :查找名字是westos的文件

# find   /mnt/   -name    "westosfile*":查找名字含有westosfile的文件

ps: 含有特殊字符 要用双引号引起来 或者 用 反斜杠转译

(2)按照最大最小深度查找

建立目录 /mnt/westosdir,目录里面建立文件westosfile1

# find   /mnt/   -name    westosfile1:查找名字是westosfile1的文件,有两个

# find /mnt/   -maxdepth 1   -name   westosfile1:查找westosfile1文件最大深度是1 ,意思是只查找/mnt下的文件!

# find /mnt/ -maxdepth 2 -name westosfile1:最大深度为2,表明查找深度是1,2的!

# find /mnt/ -mindepth 2 -maxdepth 2 -name westosfile1 :深度只是2的

 (3)按照类型查找

# find   /mnt/   -type   d:查找目录

# find   /mnt/   -type  f:查找文件

 (4)按照所有人所有组查找

# find   /mnt/   -user   root:查找文件所有人是root用户的

# find   /mnt/   -user  root  -o  -user   westos:查找文件所有人是root或者westos用户的

# find   /mnt/   -user   westos   -a    -group   hgx :查找文件所有人是westos用户 所有组是hgx的

ps:  -a  可以省略  意思一样

# find  /mnt/  -user  westos  -not  -group  hgx:查找所有人是westos用户所有组不是hgx的

 (5) 按照文件大小查找

# dd    if=/dev/zero    of=/mnt/westosfile1    bs=1M   count=10:设置文件大小为10M

# du -sh westosfile*:查看文件的大小

# find   /mnt/   -size   20M:查找大小为20M的文件

# find /mnt/  -size   -20M:查找文件大小小于20M的,不包括20M

# find   /mnt/   -size   +20M:查找文件大小大于20M的,不包括20M

(6)按照最后修改时间查找

# find   /mnt/   -cmin    -1:查找在1分钟内修改的文件

# find  /mnt/   -cmin  +1:查找修改超过1分钟的文件

 (7) 按照权限查找

  • # find   /mnt/    -perm    444:查找权限是444的文件
  • # find    /mnt/     -perm    - 644 :查找权限含有644的文献,意思是 u必须含有rw, 并且 g必须含有r, 并且 o必须含有r
  • # find   /mnt/   -perm   /322:查找权限为,u权限含有w 或者 x, 或者  g权限含有 w ,或者 o权限含有w。即就是,rwxrwxrwx,满足一个就可以!!

 (8)查找后处理

  • # find   /mnt/   -perm    -002    -exec   chmod   o-w  {}   \ ;   :查找o含有w权限的文件,并取消w权限!
  • # find     /mnt/    -name    westosfile3   -exec   rm   -fr   {}   \;  :查找westsosfile3并删除!!

ps: { }是所有的查找结果

 三、设备的查看命令

  • fdisk   -l :查看磁盘分区情况,最详细的
  •  lsblk :设备使用情况
  •  cat  /proc/partitions:查看系统识别设备
  • df :查看正在被系统挂载的设备, -h / -H
  • blkid :查看设备管理方式及设备id

查看磁盘分区情况:

查看系统识别设备:

 查看挂载的设备:

查看设备id:

四、设备的挂载与卸载(临时)

  • mount :挂载
  • umount :卸载
  • lsof :查看设备信息
  • fuser   -vm  :查看设备信息
  • fuser  -kvm :查看并关闭设备

------------------------------------------------------------------实验-------------------------------------------------------------

以u盘为例,感受设备的挂载与卸载!注意:在真机实验,虚拟机无法识别u盘!

# df:显示挂载的设备

 # umount    /dev/sdb1:卸载设备,加设备或者卸载点都可以,一般加设备!

 # mount   /dev/sdb1   /mnt/:挂载设备,指定挂载点!

进入挂载点查看,设备还是u盘,挂载成功!

 # mount:查看详细的挂载信息

发现此次设备可进行读写操作,建立/删除文件进行验证

验证完成功卸载设备, 再次挂载

# mount    -o    ro    /dev/sdb1    /mnt/:指定参数进行挂载,设备只读

利用mount查看详细信息,并进行验证!

 如果想更改设备可以进行读写操作的话,可以重新挂载!

# mount   -o   remount,rw    /dev/sdb1 :重新挂载,更改设备为读写

ps:这里没成功。。。

然后卸载后在挂载实现读写操作!

 卸载失败:显示busy怎么办?

  •  lsof    设备/挂载点 :查看设备信息
  • fuser    -vm  设备:查看设备信息
  • fuser    -kvm  设备:查看并关闭设备信息

 五、磁盘分区

1.磁盘分区原理

逻辑上将大硬盘分成小硬盘,便于数据的存储读取方便

2.两种分区表形式

MBR分区表:每块硬盘最大支持2.1TB硬盘,每块硬盘最多支持4个分区。
GPT分区表(全局唯一标识分区):支持9.4ZB硬盘,理论上支持分区数没有限制,但Windows限制128个主分区。

 3. MBR分区表的分区类型

主分区:主分区表记录分区的信息并可以直接使用的分区,最多4个

扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器

Ⅰ、把一个主分区拿出来做扩展分区,每块硬盘最多只能有1个扩展分区
Ⅱ、扩展分区+主分区<=4。
Ⅲ、扩展分区不能写数据,不能格式化,只能在里面包含更多的逻辑分区。(为了突破4个分区的限制)1,2,3,4号分区只能分配给主分区和扩展分区,逻辑分区只能从第5个分区开始

逻辑分区:扩展分区之上划分的分区叫做逻辑分区

 4. 分区命令---非交互式----parted

  • parted   /dev/vdb  mklabel   msdos/gpt确定分区表为MBR或GPT
  • parted   /dev/vdb   mkpart   primary 1   1000建立100M的分区
  •  parted /dev/vdb    rm 2删除第二个分区

 首先利用# fdisk  -l  查看磁盘分区情况

此时发现磁盘/dev/vdb 并为分区!

 # parted  /dev/vdb  mklabel  gpt:设定分区表类型为gpt

# parted    /dev/vdb    mklabel    msdos :设定分区表类型为MBR (msdos)

 # parted   /dev/vdb  mkpart primary 1 1000 :建立分区1

# parted /dev/vdb mkpart primary 1001 2000:建立分区2

 # parted  /dev/vdb rm 1 :删除分区1

# parted /dev/vdb rm 2:删除分区2

 5.分区命令----交互式-----fdisk

  • fdisk   /dev/vdb:交互式分区
  • m : 查看帮助
  • p:显示分区结果
  • n:添加分区
  • d:删除分区

------------------------------------------------------------------实验---------------------------------------------------------------

实验要求:建立3个主分区,1 个扩展分区,1个逻辑分区

# fdisk   /dev/vdb:进入交互式分区

# p : 显示分区情况

# n :添加分区

添加1号主分区

同理添加2号主分区

再次添加3号主分区

 添加扩展区,在扩展区上划分逻辑区!

 分区建立完成后,记得保存!!

保存成功后,退出同步分区表!

 # udevadm settle:同步分区表

注意:但此时分区都不能使用!因为没有文件系统

6.部署文件系统

红帽常用文件系统为XFS

  • mkfs : 用于在特定的分区上建立 linux 文件系统

共有几种文件系统类型

# mkfs.xfs      /dev/vdb1 :设定分区1的文件系统类型为xfs

 同理设置分区235的文件系统!

设置成功后利用blkid查看!

 此时将 /dev/vdb5 挂载在/mnt下,并要求自动挂载!

之前是自动启动 写在/etc/rc.d/rc.local中!但是该文件是系统启动后在读取的!!

要在系统启动前读取该挂载信息:写进  /etc/fstab中

 此时df 查看挂载信息,发现 /dev/vdb5 没有挂载!

mount  -a  :  将/etc/fstab的所有内容重新加载,此时/dev/vdb5已经挂载成功!

 7.删除磁盘

  • fdisk 交互式删除----记得wq保存
  • dd if=/dev/zero of=/dev/sdb bs=1M count=1 : 快速覆盖分区表从而删除磁盘设备

# fdisk   /dev/vdb:交互式删除

 删除完记得wq保存,没有保存的磁盘没有变化!

 dd if=/dev/zero of=/dev/sdb bs=1M count=1 : 快速覆盖分区表从而删除磁盘设备

 六、swap分区

Linux中Swap(即:交换分区)功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间--swap,腾出内存来让别的程序运行。

1.创建swap分区

# fdisk   /dev/vdb:创建分区

 修改分区类型为swap

----> t ------> 82

 swap分区创建完成!

创建完成记得wq保存!保存后退出记得 同步分区表!

# udevadm    settle :同步分区表

 # mkswap   /dev/vdb1 :格式化设备类型为swap

 # swapon   -a   /dev/vdb1:激活该设备

# swapon -s:查看分区信息

 # swapoff    /dev/vdb1:关闭该分区设备

 # swapon   -a    /dev/vdb1   -p    1 :激活分区设备并设置优先级

 注意:----------------以上都是临时操作!!-----永久操作要写进文件!

# vim    /etc/fstab

 # swapon   -a :重新读取/etc/fstab

# swapon -s:查看分区信息

 # fdik  /dev/vdb : 进入利用d删除分区信息

 七、磁盘配额

设定用户能写入指定设备的最大额度

1.实验准备

  • 新建大小为100M的分区
  • 新建/westos目录并修改权限
  • 挂载设备到westos目录

新建分区

 设置文件系统格式

 新建/westos目录并挂载设备

 此时并为设定磁盘配额!测试一下!

切换至westos用户,写入/westos目录,30M的内容!写入成功!

2.磁盘配额设定

  • mount   -o   usrquota   /dev/vdb1   /westos/ :挂载设备并激活配额参数
  • edquota  -u  westos:设定用户westos配额

首先清除/westos目录下所有文件,并且卸载设备!

 重新挂载设备并激活配额参数!

利用mount查看配额参数是否激活!

# edquota   -u    westos :设定用户配额,一般只修改硬限,此时设置为20M。

即就是,westos用户最多写入该设备20 M的内容!

 # vim   /etc/fstab:永久开启配额

 3.测试

再次切换westos用户,分别写入30,20,21M的内容!发现超过20M都无法写入,说明磁盘配额成功!

4.关闭配额

  • quotaoff   -uv   /dev/vdb1:关闭设备配额
  • vim   /etc/fstab:永久关闭配额
  • 卸载设备重新正常挂载即可

再次测试, 发现设备配额消失,可以写入30M的内容!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/794382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录day13 | 226.翻转二叉树 101.对称二叉树

文章目录 一、翻转二叉树二、对称二叉树 一、翻转二叉树 使用前、后序反转最为方便。 // 使用递归三部曲 class Solution { public:TreeNode *dfs(TreeNode *root){// 前序反转if (root nullptr)return root;swap(root->left, root->right);dfs(root->left);dfs(ro…

三子棋(超详解+完整码源)

三子棋 前言一&#xff0c;游戏规则二&#xff0c;所需文件三&#xff0c;创建菜单四&#xff0c;游戏核心内容实现1.棋盘初始化1.棋盘展示3.玩家下棋4.电脑下棋5.游戏胜负判断6.game&#xff08;&#xff09;函数内部具体实现 四&#xff0c;游戏运行实操 前言 C语言实现三子棋…

TEE GP(Global Platform)认证规范

TEE之GP(Global Platform)认证汇总 一、GP认证规范库 二、TEE GP认证规范文档 如果需要TEE对应的GP认证规范文档&#xff0c;请按照下方选择框选择TEE&#xff0c;然后Search&#xff0c;共查询到31个相关规范文档。 参考&#xff1a; GlobalPlatform Certification - Global…

利用python实现自增填充和脚本批量解压文件

和学弟整理学校档案 因为这个方法只用了一下午就干完了 净赚&#xffe5;300 写文章记录一下 需求分析 我要储存很多个文件(几万个文件) 而且要按照文件的顺序进行排序的编号 目的是解放一下双手只用简单的ctrl cv实现命名的自增 如果没有库的话就pip install 库名 import t…

第一启富金:美联储决议及讲话来袭、黄金不改趋势性看涨前景

第一启富金基本面分析&#xff1a; 中国纸黄金交易通显示&#xff0c;全球最大黄金上市交易基金(ETF)截至07月22日持仓量为919.00吨&#xff0c;较上日增持5.20吨&#xff0c;本月止净减持2.90吨。 周二美国公布的7月消费者信心指数为117&#xff0c;远高于预期的111.8&#xf…

Docker Compose介绍及部署

Docker Compose介绍及部署 一、Docker Compose介绍&#xff1a;1、Compose简介2. YAML 文件格式及编写注意事项3. YAML数据结构 二、Docker Compose部署1、 Docker Compose 环境安装2.、Docker Compose配置常用字段3、Docker Compose 常用命令4、Docker Compose 文件结构编写配…

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法

0.摘要 我们研究了一种逐步挖掘具有鉴别性的物体区域的原则方法&#xff0c;使用分类网络来解决弱监督语义分割问题。分类网络只对感兴趣对象中的小而稀疏的鉴别性区域有响应&#xff0c;这与分割任务的要求相背离&#xff0c;分割任务需要定位密集、内部和完整的区域以进行像素…

C#——多线程之Task

C#——多线程之Task 前言一、Task是什么&#xff1f;二、各应用场景以及实例分析1.异步执行代码2.等待异步操作完成3.并行执行多个任务4.处理异常5.取消异步操作 三、一些其他问题1.WhenAll与WhenAny的区别 总结 前言 在代码编写过程中&#xff0c;经常会用到多线程的知识&…

Vue如何配置eslint

eslint官网: eslint.bootcss.com eslicate如何配置 1、选择新的配置&#xff1a; 2、选择三个必选项 3、再选择Css预处理器 4、之后选择处理器 5、选择是提交的时候就进行保存模式 6、放到独立的配置文件上去 7、最后一句是将自己的数据存为预设 8、配合console不要出现的规则…

每天一道C语言编程(2^k进制数)

题目描述 设r是个2^k 进制数&#xff0c;并满足以下条件&#xff1a; &#xff08;1&#xff09;r至少是个2位的2^k 进制数。 &#xff08;2&#xff09;作为2^k 进制数&#xff0c;除最后一位外&#xff0c;r的每一位严格小于它右边相邻的那一位。 &#xff08;3&#xff09;…

NoSQL之 Redis 部署,配置与优化

文章目录 NoSQL之 Redis配置与优化一.关系数据库与非关系型数据库1.关系型数据库2.非关系型数据库3.关系型数据库和非关系型数据库区别4.非关系型数据库产生背景 二.Redis简介1.了解Redis2.Redis 具有以下几个优点3.Redis为何这么快 三.Redis 安装及应用1.Redis 安装部署2.Redi…

linux网卡命名规则与修改方法

一.前言&#xff1a; 在早期的的操作系统中例如fedora13或者ubuntu15之前网卡命名的方式为eth0&#xff0c;eth1&#xff0c;eth2&#xff0c;属于biosdevname 命名规范。当然这是针对intel网卡的命名规则&#xff0c;对于realtek类型的网卡会命名为ens33。但是这个编号往往不一…

数据库运维——MySQL主从复制

1.理解MySQL主从复制原理。 2.完成MySQL主从复制。 一、MySQL主从复制原理 MySQL主从复制是指将一个MySQL数据库服务器&#xff08;称为主服务器&#xff09;上的数据复制到其他MySQL数据库服务器&#xff08;称为从服务器&#xff09;的过程。它的原理如下&#xff1a; 主服…

如何利用OpenAI的函数调用特性

如何利用OpenAI的函数调用特性 函数调用能实现哪些功能&#xff1f; 简单来说&#xff0c;函数调用功能可以助你在请求方法时构建结构化的数据。因为生成模型的特性&#xff0c;它产生的数据往往是无结构的&#xff0c;即使在提示(prompt)中指定了输出格式&#xff0c;但实际…

3-Linux实操

Linux实践操作 开关机、重启、用户登陆注销关机&重启用户登陆和注销 用户管理添加用户修改用户密码删除用户查询用户信息切换用户查看当前用户用户组的添加和删除用户和组相关文件 实用指令指定运行级别init 命令帮助指令文件目录类时间日期类搜索查找类&#x1f50d;压缩和…

新能源汽车直流充电桩和交流充电桩的区别

直流充电桩和交流充电桩的区别 你是否曾经想过&#xff0c;为什么有的电动汽车可以在半小时内充满电&#xff0c;而有的却需要几个小时?其实&#xff0c;这都取决于它们所使用的充电桩的不同。那么&#xff0c;直流充电桩和交流充电桩到底有哪些区别呢? 首先&#xff0c;工作…

网络变压器配套使用的网口连接器的选型注意事项及选购关注要点

Hqst盈盛&#xff08;华强盛&#xff09;电子导读&#xff1a;采购人员在网口连接器选型中如何选用到合适的产品&#xff0c;选用时要注意到哪些事项&#xff0c;这节将结合网口连接器实物和大家一起探讨&#xff0c;希望对大家有些帮助。 我们可以通过对下面五个方面的详细了解…

网工内推 | 售前、售后工程师,IE认证优先

01 广州佳杰科技有限公司 招聘岗位&#xff1a;IT售前工程师 职责描述&#xff1a; 1、负责所在区域 IT 产品的售前技术支持工作,包括客户交流、方案编写、配置报价、投标应标、测试、赋能等; 2、与厂商相关人员建立和保持良好的关系,相互配合,提高项目成功率和厂商满意度; 3、…

每日一题——链表中倒数最后k个结点

题目 输入一个长度为 n 的链表&#xff0c;设链表中的元素的值为 ai &#xff0c;返回该链表中倒数第k个节点。 如果该链表长度小于k&#xff0c;请返回一个长度为 0 的链表。 数据范围&#xff1a;0≤n≤$105&#xff0c;0≤ai≤109&#xff0c;0≤k≤109 要求&#xff1a;…

MongoDB索引结构,到底是B-Tree还是B+Tree,请看这里!!

起因 网上关于MongoDB的索引结构到底是b树&#xff0c;还是b树的争论有很多&#xff0c;无法统一结论。 由来 MongoDB从3.2版本开始默认采用了WiredTiger存储引擎&#xff0c;网上很多说法是此引擎是BTree的索引结构&#xff0c;甚至有图有真相。但是认为MongoDB一直是B-Tre…