Linux之维护基本存储空间

目录

维护基本存储空间

1.查看磁盘信息(块设备)信息

2.创建分区

(1)MBR分区

        标准MBR结构如下

        为什么MBR最多只能有4个主分区

(2)GPT分区

        优点

3.分区工具

1.使用fdisk管理MBR分区

        语法格式

        参数及作用

2.使用gdisk管理GPT分区

        操作步骤

3.使用parted划分分区

        使用方式

        分区

        交互式

        无交互模式

4.格式化

目的

语法格式

参数及作用

5.挂载

目的

语法格式

卸载分区

设置系统启动时的自动挂载

永久挂载方式

用于挂载信息的指定填写格式中,各字段所表示的意义

6.管理交换分区

扩展交换分区的方式

命令及功能


维护基本存储空间

1.查看磁盘信息(块设备)信息

root@ubuntu:~# lsblk

2.创建分区

(1)MBR分区

        MBR(Master Boot Record,主引导记录 ) 传统的分区机制 ,使用 BIOS引导 PC 设备,寻址空间只有 32bit 长, 最大支持 2.19TB

标准MBR结构如下

地址描述长度(字节)
0代码区440(最大446)
440选用磁盘标志4
444一般为空值;0x00002
446标准MBR分区表规划(四个16byte的主分区表入口)64
511MBR有效标志:0x55AA2

为什么MBR最多只能有4个主分区

        分区表占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节

MBR分区类型

1.主分区

        一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启动操作系统 ,同时,主分区可以直接建立文件系统,如windowsNTFS,存放数据

2.扩展分区

        一块硬盘 最多一个 ,加主分区最多4 个, 不能创建文件系统 ,可以 划分逻辑分区

3.逻辑分区

        可以创建文件系统存放数据,同时,逻辑分区的数量没有限制

从引导操作系统的角度来分类

        系统启动分区 --- 用来启动操作系统,必须是主分区

        启动分区 --- 安装操作系统的分区,可以使主分区也可以是逻辑分区

        活动分区 --- 只能是作用于系统分区,有且仅有一个活动分区

(2)GPT分区

        GPT是一种比MBR分区更先进更灵活的磁盘分区模式

优点

  1. 在默认情况下,GPT最多可支持128个分区
  2. 支持大于2.2TB的总容量以及大于2.2TB的分区,最大支持18EB(1 EB=1024PB,1PB=1024TB,1TB=1024GB)
  3. GPT分区自带备份
  4. 向后兼容MBR,GPT分区表上包含保护性的MBR分区

3.分区工具

  • fdisk只能用于MBR分区gdisk,parted可以用于GPT分区
  • fdisk大多数运维工作人员已经习惯这个交互模式
  • parted命令创建删除分区使用命令比较方便,可划分大于2TB的分区,但是功能不是太完善,没有备份还原命令
  • gdisk在分区上命令和fdisk风格一样, 使用方便,学习难度低且功能强大,推荐使用

1.使用fdisk管理MBR分区

语法格式

        fdisk 设备名

参数及作用

指令作用指令作用
a调整磁盘的启动分区p显示当前磁盘的分区信息
d删除磁盘分区t更改分区类型
l显示所有支持的分区类型u切换所显示的分区大小单位
m查看所有指令的帮助信息n创建新分区
q不保存更改,退出fdisk命令w把修改写入磁盘分区表,然后退出fdisk命令
g新建一个空的GPT分区表o新建一个空的DOS分区表

2.使用gdisk管理GPT分区

        gdisk命令工具默认将磁盘划分为GPT格式的分区

操作步骤

  • 步骤1 --- 添加一个新的磁盘,并查看新磁盘名称
[root@localhost ~]# lsblk 

  • 步骤2 --- 执行gdisk命令→输入n指令创建新分区
[root@localhost ~]# gdisk /dev/nvme0n2 

  • 步骤3 --- 指定分区编号(默认是未使用的最小分区编号)

  • 步骤4 --- 指定新分区开始的位置和结束位置

  • 步骤5 --- 显示已创建的分区信息

  • 步骤6 --- 输入w子命令将分区设置写入分区表→当提示最终确认时,输入“y”

  • 步骤7 --- 执行partprobe命令,使操作系统内核获知新的分区表信息

3.使用parted划分分区

使用方式

交互式

        手动按序交互式的创建

非交互式

        可将命令行 写在脚本中 ,运行脚本 实现一键创建 ;适用于远程批量管理多台主机的场景

 

        两种方法的 使用 原理 其实是 一样 的;要想实现非交互式创建,无非是 在每一个具体的交互式命令 加上 parted DEVICES_NAME 即可
[root@localhost ~]# parted /dev/nvme0n2

#新建磁盘标签类型为GPT

(parted) mklabel gpt

分区

交互式

语法格式

        mkpart PART-TYPE [FS-TYPE] START END

PART-TYPE(分区类型)
        primary --- 主分区
        logical --- 逻辑分区
        extended --- 扩展分区
FS-TYPE(文件系统类型)
        ext4
        ext3
        ext2
        xfs
        其他......
START
设定磁盘 分区起始点 ;可以为 0 numberMiB/GiB/TiB
        0 --- 设定当前分区的起始点为磁盘的第一个扇区
        1G --- 设定当前分区的起始点为磁盘的1G处开始
END
设定磁盘分区结束点
        -1 --- 设定当前分区的结束点为磁盘的最后一个扇区
        10G --- 设定当前分区的结束点为磁盘的10G处
mkpart primary xfs 1MB 500MB

无交互模式

删除第1个分区
[root@localhost ~]# parted /dev/nvme0n2 rm 1

创建分区
[root@localhost ~]# parted /dev/nvme0n2 mklabel gpt

[root@localhost ~]# parted /dev/nvme0n2 mkpart primary xfs 1MB 800MB 

创建扩展分区

parted /dev/nvme0n2 mklabel msdos

parted /dev/nvme0n2 mkpart extended 800M 1.5G

创建逻辑分区

parted /dev/nvme0n2 mkpart logical xfs 900M 1G

4.格式化

目的

        是为了 形成文件系统

语法格式

        mkfs|mkfs.xfs|mkfs.ext4 [选项] 分区的设备名

参数及作用

        -t 文件系统类型 ---  命令名为mkfs ,指定 要创建的 文件系统的类型 ( :xfs ext4 vfat ) 。当命令名为mkfs.xfs mkfs.ext4 等时 , 不需要该选项
        -c --- 建立文件系统前 先检查坏块
        -V --- 输出 建立文件系统的 详细信息
注意:
        如果已有其他文件系统创建在此分区, 必须在 mkfs.xfs 命令中加上选项 -f强行进行格式化

5.挂载

目的

        挂载分区( 或文件系统 )

语法格式

        mount [-t 文件系统类型] 设备名 挂载点目录

卸载分区

        要移除USB 磁盘、 U 盘、光盘和硬盘时 , 需要先卸载
umount 挂载点目录或存储设备名

设置系统启动时的自动挂载

        手动挂载的分区 会在系统重启后失效 , 若用户需要 永久挂载分区 , 则需要通过 编辑/etc/fstab文件 来实现
        当系统启动的时候, 系统会 自动地从这个文件读取信息 , 并且会自动将此文件中 指定的文件系统挂载到指定的目录

永久挂载方式

  1. 通过分区文件名来挂载
  2. 通过UUID来挂载

注意:
        每一个被格式化的分区都有一个 唯一的UUID ,那么你在挂载的时候,可以指定 UUID 来挂载
查看UUID
blkid

[root@localhost ~]# blkid /dev/nvme0n1p3

 使用-U进行挂载

[root@localhost ~]# mount -U 75b1d1ec-3d6b-4840-ae31-44ca09f3314e /mnt/hgfs/

用于挂载信息的指定填写格式中,各字段所表示的意义

字段
意义
设备文件
一般为设备的 路径+设备名称 ,也可以写唯一识别码( UUID Universally Unique Identifier)
挂载目录
指定要挂载到的目录,需 在挂载前创建好
格式类型
指定文件系统的格式 ,比如 Ext3 Ext4 XFS SWAP iso9660 (此为光盘设备)等
权限选项
若设置为 defaults ,则默认权限为: rw, suid, dev, exec, auto, nouser, async
是否备份
若为 1 则开机后 使用dump进行磁盘备份 ,为 0则不备份
是否自检
若为 1 则开机后 自动进行磁盘自检 ,为 0则不自检

6.管理交换分区

        在Linux 系统中 , swap 交换分区的作用 类似于Windows系统中“虚拟内存” , 当有程序被 调入内存 , 但是该程序又 不是常被CPU所取用 , 那么这些不常被使用的程序将会被 放到硬盘的swap交换分区 当中 , 而将速度较快的内存空间释放给真正需要的程序使用, 避免 因为物理内存不足而造成的 系统效能低 的问题。如果系统没有swap 交换分区 , 或者现有交换分区的容量不够用时 , 可扩展 swap 交换分区

扩展交换分区的方式

  1. 磁盘分区的方式扩展swap交换分区
  2. 以镜像文件的方式扩展swap交换分区

命令及功能

命令功能
mkswap 分区设备名
指定的分区格式化为swap 交换文件系统
swapon 交换分区设备名 |-a
启用 ( 或激活 ) 指定的交换分区或所有交换分区
swapoff 交换分区设备名 |-a
禁用 指定的交换分区或所有交换分区
swapon -s
查看 交换分区的使用情况
free -m
以兆字节为单位显示物理内存、交换分区的使用情况

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

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

相关文章

Mimikatz免杀实战:绕过360核晶和defender

文章目录 前言绕过360核晶实现思路完整代码运行测试 绕过WD实现思路MiniDumpWriteDump回调函数加密dump文件 完整代码运行测试 参考文章 前言 通常来说,即使我们成功实现了mimikatz的静态免杀,其抓取hash的行为仍可能会被防病毒软件检测到虽然你可以通过…

sass笔记

声明变量 通过$标识符进行命名及引用混合器 类似vue中的函数 通过 mixin标识定义 include 标识调用& 父选择器标识extend 进行继承可嵌套可导入 通过 import 文件位置’ 、进行导入 <style> //1 声明变量 $name: 15px; $color: skyblue;mixin border-radius($num) {/…

Docker(一) 安装Docker

一、安装 安装前置条件 yum install -y yum-utils device-mapper-persistent-data lvm2 更换数据源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 1、指定版本安装 yum list docker-ce --showduplicates | sort -r yum …

【3Ds Max】可编辑多边形“边”层级的简单使用

目录 简介 示例 1. 编辑边 &#xff08;1&#xff09;插入顶点 &#xff08;2&#xff09;移除 &#xff08;3&#xff09;分割 &#xff08;4&#xff09;挤出 &#xff08;5&#xff09;切角 &#xff08;6&#xff09;焊接 &#xff08;7&#xff09;桥 &…

【php】windows下php运行已有php web项目环境配置教程

php环境配置教程 php安装composer安装扩展安装redis扩展安装 composer install 本文操作系统使用的是win11&#xff0c;软件PhpStorm 2023.1 php安装 要安装的php版本可以在composer.json看到&#xff0c;下载安装对应版本 windows下载地址https://windows.php.net/download …

链表OJ题

今天继续分享我们关于链表的OJ题。 第一题 合并升序链表 这道题我们可以这样理解&#xff0c;首先是不带哨兵位&#xff0c;我们先给一个head和tail指针&#xff0c;然后第一个链表和第二个链表进行比较&#xff0c;如果list1的数据比list2的数据大的时候&#xff0c;我们就尾…

juc基础(二)

目录 一、集合的线程安全 1、List集合 2、hashset 3、hashmap 二、多线程锁 三、Callable&Future 接口 1、Callable接口 2、Future 接口 3、FutureTask 四、JUC 三大辅助类 1、减少计数 CountDownLatch 2、 循环栅栏 CyclicBarrier 3、信号灯 Semaphore 一、…

Android开发基础知识总结(四)简单控件(下)

一.按钮触控 最常见的按钮button类继承自Textview类。 需要注意的是&#xff0c;在Button中显示的单词默认全部大写 ~ public void onClick(View v){s1et1.getText().toString();//有一些小bug&#xff0c;好像变量必须声明在Onclick方法内部才有效&#xff1f;&#xff1f;&am…

SpringMVC拦截器学习笔记

SpringMVC拦截器 拦截器知识 拦截器(Interceptor)用于对URL请求进行前置/后置过滤 Interceptor与Filter用途相似但实现方式不同 Interceptor底层就是基于Spring AOP面向切面编程实现 拦截器开发流程 Maven添加依赖包servlet-api <dependency><groupId>javax.se…

Hadoop小结(上)

最近在学大模型的分布式训练和存储&#xff0c;自己的分布式相关基础比较薄弱&#xff0c;基于深度学习的一切架构皆来源于传统&#xff0c;我总结了之前大数据的分布式解决方案即Hadoop&#xff1a; Why Hadoop Hadoop 的作用非常简单&#xff0c;就是在多计算机集群环境中营…

【经验】VScode 远程连接 Ubuntu 出错,Could not establish connection

用VScode常常会碰到以下情况&#xff0c;Could not establish connection。 先介绍一下VScode远程连接和终端SSH连接的区别&#xff1a;终端直接用SSH连接时&#xff0c;只需要开启SSH服务&#xff0c;并消耗少量的内存即可&#xff1b;VScode连接时&#xff0c;会自动在服务器…

二、Kafka快速入门

目录 2.1 安装部署1、【单机部署】2、【集群部署】 2.2 Kafka命令行操作1、查看topic相关命令参数2、查看当前kafka服务器中的所有Topic3、创建 first topic4、查看 first 主题的详情5、修改分区数&#xff08;注意&#xff1a;分区数只能增加&#xff0c;不能减少&#xff09;…

Java后端开发面试题——微服务篇总结

Spring Cloud 5大组件有哪些&#xff1f; 随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件 注册中心/配置中心 Nacos 负载均衡 Ribbon 服务调用 Feign 服务保护 sentinel 服务网关 Gateway Ribbon负载均衡策略有哪些 ? RoundRobinRule&…

opencv-手势识别

# HandTrackingModule.py import cv2 import mediapipe as mpclass HandDetector:"""使用mediapipe库查找手。导出地标像素格式。添加了额外的功能。如查找方式&#xff0c;许多手指向上或两个手指之间的距离。而且提供找到的手的边界框信息。"""…

强训第38天

选择 D 0作为本地宿主机&#xff0c;127作为内部回送&#xff0c;不予分配 A B C C 存储在浏览器 D A B B D 网络延迟是指从报文开始进入网络到它离开网络之间的时间 编程 红与黑 红与黑__牛客网 #include <iostream> #include <stdexcept> #include <string…

在vue3+ts+vite中使用svg图片

目录 前言 步骤 1.安装svg-sprite-loader,这里使用的是6.0.11版本 2.项目的svg图片存放在src/icons下&#xff0c;我们在这里创建两个文件index.ts和index.vue&#xff08;在哪创建和文件名字并没有任何要求&#xff09; 3.在index.ts中加入下列代码(如果报错找不到fs模块请…

飞天使-k8s基础组件分析-控制器

文章目录 控制器含义解释pod的标签与注释ReplicaControllerReplicaSetDeploymentsDaemonSetJobCronjob参考文档 控制器含义解释 空调遥控器知道吧ReplicationController: ReplicationController确保在任何时候都运行指定数量的pod副本。换句话说&#xff0c;一个ReplicationCo…

无涯教程-Perl - wantarray函数

描述 如果当前正在执行的函数的context正在寻找列表值,则此函数返回true。在标量context中返回false。 语法 以下是此函数的简单语法- wantarray返回值 如果没有context,则此函数返回undef&#xff1b;如果lvalue需要标量,则该函数返回0。 例 以下是显示其基本用法的示例…

3种获取OpenStreetMap数据的方法【OSM】

OpenStreetMap 是每个人都可以编辑的世界地图。 这意味着你可以纠正错误、添加新地点&#xff0c;甚至自己为地图做出贡献&#xff01; 这是一个社区驱动的项目&#xff0c;拥有数百万注册用户。 这是一个社区驱动的项目&#xff0c;旨在在开放许可下向每个人提供所有地理数据。…

Centos 7 安装系列(8):openGauss 3.0.0

安装依赖包&#xff1a; yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel openssl-devel sqlite-devel libnsl 安装插件&#xff1a; yum install -y bzip2 net-tools为什么要安装这两个&#xff1f; 安装bzip2 是…