复习之linux存储的基本管理

一、实验环境的设定

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.mfbz.cn/a/52691.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt 接口使用(一)

使用api实现功能 参考链接&#xff1a;https://platform.openai.com/examples 安装库&#xff1a; pip3 install openai 例如&#xff1a; import os import openaiopenai.api_key os.getenv("OPENAI_API_KEY") response openai.ChatCompletion.create(model&q…

配置tomcat内存大小(windows、linux)

一、参数说明 -Xms&#xff1a; JVM初始分配的堆内存 -Xmx&#xff1a; JVM最大允许分配的堆内存&#xff0c;按需分配 -XX:PermSize&#xff1a; JVM初始分配的非堆内存 -XX:MaxPermSize&#xff1a; JVM最…

QT服务器练习

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//给服务器指针实例化空间server new QTcpServer(this); }Widget::~Widget() {delete ui; }//启动服务器按钮对…

阿里云域名备案

最好的爱情&#xff0c;不是因为我们彼此需要在一起&#xff0c;而是因为我们彼此想要在一起。 阿里云的域名如何备案&#xff0c;域名备案和ICP备案一样吗&#xff1f;&#xff1f; 截至我所掌握的知识&#xff08;2021年9月&#xff09;&#xff0c;阿里云的域名备案和ICP备案…

什么是嵌入式软件开发?

嵌入式软件一般是在交叉的开发环境下进行的&#xff0c;这样的运行环境能够让软件开发过程中更加稳定、可靠和安全&#xff0c;在很大程度上提升了软件开发的质量和效率&#xff0c;同时也使得软件开发的难度和程度大大降低。 嵌入式软件的交叉开发环境&#xff0c;反映了用于…

Spire.Office for.NET Crack

Spire.Office for.NET Crack Spire.Office for.NET是E-iceblue提供的企业级Office.NET API的组合。它包括Spire.Doc、Spire.XLS、Spire.Seadsheet、Spire.Presentation、Spire_PDF、Spire.DataExport、SpireOfficeViewer、Spire-PDFViewer、Spire.DocViewer、Spire.Barcode和Sp…

windows版docker部署springcloud项目

材料&#xff1a; 1.windows版docker环境&#xff08;其他版教程可能道理一样但是比如文件后坠名上可能有差异&#xff09; 2.运行好的数据库容器&#xff08;实现教程&#xff09; 3.所有jar包 实现&#xff1a; 最后整好的文件夹结构图&#xff08;原工程文件机密&#xf…

【Git】git reset 版本回退 git rm

前言 在日常开发时&#xff0c;我们经常会需要撤销之前的一些修改内容或者回退到之前的某一个版本&#xff0c;这时候reset命令就派上用场了 git reset 用法1——所有文件回退到某个版本 1、使用git reflog查看要回退的commit对象 2、使用git reset [-- hard/soft /mixed] …

【Linux后端服务器开发】IP协议

目录 一、IP协议概述 二、协议头格式 三、网段划分 四、IP地址的数量限制 五、路由 六、分片和组装 一、IP协议概述 主机&#xff1a;配有IP地址&#xff0c;但是不进行路由控制的设备 路由器&#xff1a;即配有IP地址&#xff0c;又能进行路由控制 节点&#xff1a;主…

application.yml 或 application.properties 配置文件乱码问题

一、idea写application.yml配置文件&#xff0c; 用到了中文注释&#xff0c;写的时候好好地&#xff0c;但是运行项目后&#xff0c;出现乱码情况&#xff0c;如下&#xff1a; 二、解决方法 将文件编码方式 设置成UTF-8即可 File-Setting-Editor-File Encodings 再次运行项…

【《React Hooks实战》——指导你使用hook开发性能优秀可复用性高的React组件】

使用React Hooks后&#xff0c;你很快就会发现&#xff0c;代码变得更具有组织性且更易于维护。React Hooks是旨在为用户提供跨组件的重用功能和共享功能的JavaScript函数。利用React Hooks&#xff0c; 可以将组件分成多个函数、管理状态和副作用&#xff0c;并且不必声明类即…

FreeRTOS源码分析-7 消息队列

目录 1 消息队列的概念和作用 2 应用 2.1功能需求 2.2接口函数API 2.3 功能实现 3 消息队列源码分析 3.1消息队列控制块 3.2消息队列创建 3.3消息队列删除 3.4消息队列在任务中发送 3.5消息队列在中断中发送 3.6消息队列在任务中接收 3.7消息队列在中断中接收 1 消…

导出文件下载进度条简单实现

前言 今天要跟大家分享的是一个导出数据进度条的简单实现&#xff0c;适用场景用在数据量大、组织数据耗时的情况下的简单实现。 一、设计思路 1、导出数据生成文件上传到OSS&#xff0c; 2、导出数据状态存redis缓存&#xff0c; 3、前端发导出请求后&#xff0c;返回的文件k…

动态sql以及常用的标签

什么是动态sql&#xff1a; 指根据不同的条件生成不同的sql 搭建环境&#xff1a; 建表&#xff1a; create table blog( id varchar(50) not null comment 博客id, title varchar(100) not null comment 博客标题, author varchar(30) not null comment 博客作者, create_ti…

第三章 ref与reactive

ref ref 变为响应式数据shallowRef 浅层响应式数据&#xff08;响应式到 .value为止&#xff09;isRef 判断是否为ref响应式数据triggerRef 强制触发依赖更新customRef 自定义ref函数 <template><div class"App">{{ stu }}<button click"chang…

国际化警告Fall back to translate ‘creator‘ key with ‘zn‘ locale.

发现是自己粗心写错了一个单词 这个需要改成zh messages里面也是zh:zh

忘记安卓图案/密码锁如何解锁?

如何解锁Android手机图案锁&#xff1f;如何删除忘记的密码&#xff1f;Android 手机锁定后如何重置&#xff1f;这是许多智能手机用户在网上提出的几个问题。为了回答这些问题&#xff0c;我们想出了一些简单有效的方法来解锁任何设备而不丢失数据。 忘记手机密码可能会令人恐…

大数据技术之ClickHouse---入门篇---介绍

星光下的赶路人star的个人主页 一棵树长到它想长到的高度之后&#xff0c;它才知道怎样的空气适合它 文章目录 1、Clickhouse入门1.1 什么是Clickhouse1.1.1 Clickhouse的特点1.1.1.1 列示储存1.1.1.2 DBMS的功能1.1.1.3 多样化引擎1.1.1.4 高吞吐写入能力1.1.1.5 数据分区与线…

机器学习:自动编码器Auto-encoder

Self-supervised Learning Framework 不用标注数据就能学习的任务&#xff0c;比如Bert之类的。但最早的方法是Auto-encoder。 Outline Auto-encoder encoder输出的向量&#xff0c;被decoder还原的图片&#xff0c;让输出的图片与输入的图片越接近越好。 将原始的高维向量变…

ChatGPT+MidJourney 3分钟生成你的动画故事

chatgpt是真的火了&#xff0c;chatgpt产生了一个划时代的意义——自chatgpt起&#xff0c;AI是真的要落地了。 chatgpt能做的事情太多了&#xff0c;多到最初开发模型的程序员自己&#xff0c;也没法说得清楚chatgpt都能做啥&#xff0c;似乎只要你能想得到&#xff0c;它都有…
最新文章