Linux Centos系统 磁盘分区和文件系统管理 (深入理解)
CSDN 成就一亿技术人!
作者主页:点击!
Linux专栏:点击!
CSDN 成就一亿技术人!
前言————
磁盘
在Linux系统中,磁盘是一种用于存储数据的物理设备,可以是传统的硬盘驱动器(HDD)或固态硬盘(SSD)。Linux将磁盘设备视为块设备,它们通常以文件形式表示在 /dev 目录下。
文件系统
在计算机系统中,文件系统定义了如何存储和检索数据或信息。在 Windows 操作系统中,流行的文件系统是 FAT32 和 NTFS。另一方面,在 Linux 操作系统中,流行的文件系统是 ext2、ext3、ext4、xfs(当前)、vfat、swap、ZFS 和 GlusterFS。

以下均在Vmware中测试
1.添加硬盘
在虚拟机中添加一块硬盘

磁盘类型选择默认类型SCSI

默认下一步

一直默认下一步大小根据需要自己定义
添加完成之后我们就会发现多了一块硬盘

2.查看所有磁盘
在 CentOS 7 中,设备文件位于 /dev 目录中。SATA、SCSI 和 USB 磁盘显示为 sda、sdb 或 sdc(根据磁盘数量),其中 sd 表示 SCSI 磁盘。举例来说,假如你有一个 SATA 或 SCSI 磁盘,并在那里安装 CentOS,你的磁盘驱动器将显示为 sda。
设备命名规则
硬盘设备通常以 /dev/sdX 形式命名,其中 X 是字母(例如,/dev/sda、/dev/sdb)。
分区通常表示为 /dev/sdXY,其中 Y 是分区号(例如,/dev/sda1、/dev/sdb2)。
查看磁盘信息
fdisk -l

磁盘信息:
- Disk /dev/sdX: 表示一个物理磁盘,
/dev/sdX是磁盘设备的路径,X 可能是字母,如a、b、c等。- Size: 表示磁盘总容量。
- Units: 表示容量的单位,通常是 sectors。
分区信息:
/dev/sdXY:表示一个分区,其中 X 是磁盘编号,Y 是分区编号。- Start:表示分区的起始扇区。
- End:表示分区的结束扇区。
- Sectors:表示分区的总扇区数。
- Size:表示分区的大小。
- Type:表示分区的类型,例如Linux、Windows、EFI等。
- Id:表示分区的标识符。
其他信息:
- System:表示文件系统类型,如ext4、ntfs等。
- Boot:表示是否为引导分区。
- Flags:表示分区的标志,例如 boot、lvm 等。
3.fdisk 分区工具
fdisk 是一个常用的Linux命令行工具,用于对磁盘进行分区。
注意:fdisk 工具不了解 GUID 分区表 (GPT),它不是为大分区(超过 2TB)设计的。在这种情况下,必须使用支持多种分区表格式(包括 MS-DOS 和 GPT)以及大文件大小(超过 2TB)的分段工具。
具体过程
以下是对使用fdisk工具对于磁盘进行分区的具体过程
[root@localhost ~] fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xa540a752 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区,
两次回车默认,最后输入w写入分区并退出,若不保存退出输入q。
查看命令帮助
命令(m 寻求帮助):m
命令 actiona 切换可引导标志 edit bsd disklabelc 切换 dos 兼容性标志d 删除分区
g 创建一个新的空 GPT 分区表
G 创建 IRIX (SGI) 分区表
l 列出已知的分区类型
m 打印此菜单
n 添加新分区
o 创建一个新的空 DOS 分区表
p 打印分区表
Q 退出而不保存更改
s 创建一个新的空 Sun 磁盘标签
t 更改分区的系统 ID
u 更改显示/输入单元
v 验证分区表
w 将表写入磁盘并退出
X 额外功能(仅限专家)
命令(m 寻求帮助):
此刻再次查看/dev/sdb
[root@localhost ~] fdisk -l /dev/sdb 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa540a752设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux

4.格式化分区
现已分区完毕 需要格式化才能对我们的分区进行使用 常用的是xfs的文件系统格式
如下操作 把/dev/sdb1 格式化为xfs
[root@localhost ~] mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

如果你想要格式化其他文件系统 只用在mkfs.xfs 替换为ext4即可
以下实例:
[root@localhost ~] mkfs.ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
102400 inodes, 409600 blocks
20480 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=34078720
50 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

5.挂载磁盘(重点)
挂载之前需要创建挂载点 然后使用mount对于磁盘进行挂载
临时挂载
[root@localhost ~] mount /dev/sdb1 /data
[root@localhost ~] df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 678M 0 678M 0% /dev
tmpfs tmpfs 695M 0 695M 0% /dev/shm
tmpfs tmpfs 695M 11M 684M 2% /run
tmpfs tmpfs 695M 0 695M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 6.1G 11G 36% /
/dev/sda1 xfs 1014M 172M 843M 17% /boot
tmpfs tmpfs 139M 24K 139M 1% /run/user/0
/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 xfs 10G 33M 10G 1% /data

自动挂载
编辑/etc/fstab文件加入如下即可实现自动挂载
注意事项:加入完毕退出保存之后 需要重新加载一次
[root@localhost ~] vim /etc/fstab

mount -a 重新加载一次磁盘挂载

小伙伴们 进行到这一步一个磁盘就可以使用了 快去试试吧!
6.删除磁盘分区
刚刚讲完磁盘的挂载 哥文件格式化 现在来讲讲 磁盘的分区如何进行删除呢。
现在我这里有两个磁盘 接下来以此进行删除
/dev/sdb1 xfs 10G 33M 10G 1% /data
/dev/sdb2 ext4 380M 2.3M 354M 1% /date
把编辑的信息进行删除
[root@localhost ~] vim /etc/fstab
[root@localhost ~] cat /etc/fstab/dev/mapper/centos-root / xfs defaults 0 0
UUID=7df82e80-5c97-4a4b-8d15-f3a1b051a70b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap

取消挂载
[root@localhost ~] umount /dev/sdb1
[root@localhost ~] umount /dev/sdb2
删除分区
接下来删除/dev/sdb1 sdb2分区
[root@localhost ~] fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):1
分区 1 已删除命令(输入 m 获取帮助):d
已选择分区 2
分区 2 已删除命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa540a752设备 Boot Start End Blocks Id System命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。

再次查看/dev/sdb 发现sdb1和sdb2分区都已删除
[root@localhost ~] fdisk /dev/sdb -l磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa540a752设备 Boot Start End Blocks Id System
m命令帮助手册
命令(m 寻求帮助):m
命令 actiona 切换可引导标志 edit bsd disklabelc 切换 dos 兼容性标志d 删除分区g 创建一个新的空 GPT 分区表G 创建 IRIX (SGI) 分区表l 列出已知的分区类型m 打印此菜单n 添加新分区o 创建一个新的空 DOS 分区表p 打印分区表Q 退出而不保存更改s 创建一个新的空 Sun 磁盘标签t 更改分区的系统 IDu 更改显示/输入单元v 验证分区表w 将表写入磁盘并退出X 额外功能(仅限专家)
学习完 这些你将会是 linux磁盘管理的初等小将
那么想要晋升中等请看下篇:
Linux LVM 逻辑卷管理
https://blog.csdn.net/jxjdhdnd/article/details/136342686?spm=1001.2014.3001.5501
相关文章:
Linux Centos系统 磁盘分区和文件系统管理 (深入理解)
CSDN 成就一亿技术人! 作者主页:点击! Linux专栏:点击! CSDN 成就一亿技术人! 前言———— 磁盘 在Linux系统中,磁盘是一种用于存储数据的物理设备,可以是传统的硬盘驱动器&am…...
华为配置ISP选路实现报文按运营商转发
CLI举例:配置ISP选路实现报文按运营商转发 介绍通过配置ISP选路实现报文按运营商转发的配置举例。 组网需求 如图1所示,FW作为安全网关部署在网络出口,企业分别从ISP1和ISP2租用一条链路。 企业希望访问Server 1的报文从ISP1链路转发&#…...
软件测试APP完整测试作业流程(附流程图),公司级软件测试流程化办公
目录 1. 概述 2. 软件测试流程 3. 软件测试周期人员活动图 4. 总结 1. 概述 1.1 目的 有效的保证软件质量; 有效的制定不同测试类型(软件系统测试、音频主观性测试、Field Trial、专项测试、自动化测试、性 能测试、用户体验测试)的软件…...
搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程
搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程 如果你是通过搜索搜到了这篇文章,那么一定是工作或者学习中需要用交换机,但是又没物理机测试学习,所以需要搭建本地的虚拟环境学习。 这篇文章是我进行交换机命令入门学习写…...
mineadmin 快速安装部署(docker环境)
前提条件:已安装docker 一、下载dnmp环境包 github地址:https://github.com/tomorrow-sky/dnmp gitee地址: https://gitee.com/chenjianchuan/dnmp 二、看一下dnmp包目录结构 三、打开docker-compose.yml 文件,将不需要…...
【力扣刷题练习】93. 复原 IP 地址
题目描述: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011…...
linux查看文件内容cat,less,vi,vim
学习记录 目录 catlessvi vim cat 输出 FILE 文件的全部内容 $ cat [OPTION] FILE示例 输出 file.txt 的全部内容 $ cat file.txt查看 file1.txt 与 file2.txt 连接后的内容 $ cat file1.txt file2.txt为什么名字叫 cat? 当然和猫咪没有关系。 cat 这里是 co…...
【恒源智享云】conda虚拟环境的操作指令
conda虚拟环境的操作指令 由于虚拟环境经常会用到,但是我总忘记,所以写个博客,留作自用。 在恒源智享云上,可以直接在终端界面输入指令,例如: 查看已经存在的虚拟环境列表 conda env list查看当前虚拟…...
Flask python 开发篇:项目布局
一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样,所有的东西都在一个python文件内; 然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…...
docker 部署prometheus+grafana
首先进行部署docker 配置阿里云依赖: curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 配置centos 7的镜像源 yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装一些后期或需要的的一下依…...
RNN实战
本主要是利用RNN做多分类任务,在熟悉RNN训练的过程中,我们可以理解 1)超参数 batch_size和pad_size对训练过程的影响。 2)文本处理过程中是如何将文本的文字表示转化为向量表示 3)RNN梯度消失和序列长度的关系 4&#…...
从GPT入门,到R语言基础与作图、回归模型分析、混合效应模型、多元统计分析及结构方程模型、Meta分析、随机森林模型及贝叶斯回归分析综合应用等专题及实战案例
目录 专题一 GPT及大语言模型简介及使用入门 专题二 GPT与R语言基础与作图(ggplot2) 专题三 GPT与R语言回归模型(lm&glm) 专题四 GPT与混合效应模型(lmm&glmm) 专题五 GPT与多元统计分析&…...
【Android】数据安全(一) —— Sqlite加密
目录 SQLCipherSQLiteCrypt其它 SQLCipher SQLCipher 是 SQLite 数据库的的开源扩展,使用了 256 位 AES 加密,支持跨平台、零配置、数据100%加密、加密开销低至 5 -15%、占用空间小、性能出色等优点,因此非常适合保护嵌入式应用程序数据库&a…...
云原生周刊:Helm Charts 深入探究 | 2024.3.11
开源项目推荐 Glasskube Glasskube 提供了一个用于 Kubernetes 的缺失的包管理器。它具有图形用户界面(GUI)和命令行界面(CLI)。Glasskube 包是具备依赖感知、GitOps 准备和可以通过中央公共包仓库自动更新的特性。 imgpkg imgpkg(发音为:"imag…...
【C++初阶】第六站 : 模板初阶
前言: 本章知识点:泛型编程、函数模板、类模板 专栏: C初阶 目录 泛型编程 函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 5.模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 如何实现一…...
训练保存模型checkpoint时报错SyntaxError: invalid syntax
在使用pytorch训练保存checkpoint时,出现如下报错: rootautodl-container-745411b452-c5cebfed:~/kvasir-seg-main# python train_transunet.py --loss_function"IoULoss" --training_augmentation0File "train_transunet.py", lin…...
虚拟机中安装Win98
文章目录 一、下载Win98二、制作可启动光盘三、VMware中安装Win98四、Qemu中安装Win981. Qemu的安装2. 安装Win98 Win98是微软于1998年发布的16位与32位混合的操作系统,也是一代经典的操作系统,期间出现了不少经典的软件与游戏,还是值得怀念的…...
《C++游戏编程入门》第4章 标准模板库: Hangman
《C游戏编程入门》第4章 标准模板库: Hangman 4.1 标准模板库4.2 vector04.heros_inventory2.cpp 4.3 使用迭代器04.heros_inventory3.cpp 4.4 使用算法04.high_scores.cpp 4.5 理解向量性能4.6 其他STL容器4.7 Hangman简介04.hangman.cpp 4.1 标准模板库 Standard Template L…...
Linux最小系统安装无法查看IP地址
1,出现原因 服务器重启完成之后,我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址,具体信息如下: 从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网…...
分享个好用的GPT网站
目录 一、背景 二、功能描述 1、写代码 2、联网查询 3、AI绘图 一、背景 我现在的开发工作都依靠ChatGPT,效率提升了好几倍。这样一来,我有更多时间来摸鱼,真是嘎嘎香~ ⭐⭐⭐点击直达 ⭐⭐⭐ 二、功能描述 1、写代码 import java.ut…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

