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

  1. 磁盘信息:

    • Disk /dev/sdX: 表示一个物理磁盘,/dev/sdX 是磁盘设备的路径,X 可能是字母,如a、b、c等。
    • Size: 表示磁盘总容量。
    • Units: 表示容量的单位,通常是 sectors。
  2. 分区信息:

    • /dev/sdXY:表示一个分区,其中 X 是磁盘编号,Y 是分区编号。
    • Start:表示分区的起始扇区。
    • End:表示分区的结束扇区。
    • Sectors:表示分区的总扇区数。
    • Size:表示分区的大小。
    • Type:表示分区的类型,例如Linux、Windows、EFI等。
    • Id:表示分区的标识符。
  3. 其他信息:

    • 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, 401409

Allocating 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 更改分区的系统 ID

u 更改显示/输入单元

v 验证分区表

w 将表写入磁盘并退出

X 额外功能(仅限专家)

学习完 这些你将会是 linux磁盘管理的初等小将

那么想要晋升中等请看下篇:

Linux LVM 逻辑卷管理icon-default.png?t=N7T8https://blog.csdn.net/jxjdhdnd/article/details/136342686?spm=1001.2014.3001.5501

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

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

相关文章

个人商城系统开源(配置支付宝支付!)

原文地址:个人商城系统开源(配置支付宝支付!) - Pleasure的博客 下面是正文内容: 前言 由于近期实在没有什么话题可写和一些有趣的项目教程可以分享。所以我只能决定将我自己亲手编写的一个迷你迷你商城系统进行开源…

HYBBS 表白墙网站PHP程序源码,支持封装成APP

PHP表白墙网站源码,适用于校园内或校区间使用,同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装,只需PHP版本5.6以上即可。 通过上传程序进行安装,并设置账号密码,登录后台后切换模板,适配手机和PC…

软考 系统架构设计师之回归及知识点回顾(6)

接前一篇文章:软考 系统架构设计师之回归及知识点回顾(5) 10. 边缘计算 边云协同 边缘计算与云计算各有所长,云计算擅长全局性、非实时、长周期的大数据处理与分析,能够在长周期维护、业务决策支撑等领域发挥优势&…

【汇编】#4 8086与转移地址有关有关的寻址方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、CS与IP功能tips:CS、IP复位值 二、修改CS与IP的指令1. jmp指令 三、与转移地址有关的寻址方式1、段内转移1.1 段内直接寻址1.2 段内间接寻址 2. 段间…

RK3588-PCIe

1. 简介 PCIe(Peripheral Component Interconnect Express)是一种用于连接主板和外部设备的高速串行接口标准。它是 PCI 技术的后继者,旨在提供更高的带宽和更好的性能。 高速传输: PCIe接口提供了高速的数据传输通道&#xff0…

AHU 汇编 实验四

实验名称:实验四 两个数的相乘 实验内容: 用子程序形式编写: A*B:从键盘输入a和b,计算A*B,其中乘法采用移位和累加完成 实验过程: 源代码: data segmentmul1 db 16,?,16 dup(?…

Jenkins cron定时构建触发器

from: https://www.jenkins.io/doc/book/pipeline/syntax/#cron-syntax 以下内容为根据Jenkins官方文档cron表达式部分翻译过来,使用机翻加个人理解补充内容,包括举例。 目录 介绍举例:设置方法方法一:方法二&#xf…

web | http 的一些问题 | get/post的区别 | http版本 | http与https的区别 | session、cookie、token

怎么来说呢?这应该算一个大类了,基本上设计网络的应用层 当然重要的是从网络层----->应用层 (杠精勿杠,知道中间还有其他层) 先来讲一下http的结构 都知道http 有三部分,头部、请求头和body 头部&#x…

SQLiteC/C++接口简介

上一篇:SQLite——世界上部署最广泛的开源数据库(简介) 下一篇:SQLiteC/C接口详细介绍(一) 引言: 作为一种轻量级、嵌入式关系型数据库,SQLite已经成为许多应用和系统的首选解决方…

Discord OAuth2授权以及机器人监听群事件

下面文章讲解获取OAuth2授权整个流程,创建机器人,使用机器人监听工会(工会就是创建的服务器)成员变化等等,对接国外的都是需要VPN的哦,对接的时候记得提前准备。 创建应用 点击 此页面添加应用,&#xff…

使用kettle批量加载数据到kadb

测试环境 达梦数据库版本:DM Database Server 64 V8 03134284132-20240115-215128-20081(官网测试版)KADB版本:KADB V003R002C001B0181Kettle版本:pdi-ce-9.4.0.0-343(官网下载)Python版本&…

解释“RNN encode-decode”

“RNN encode-decode” 涉及使用循环神经网络(Recurrent Neural Network,RNN)来执行编码和解码操作。这种结构常用于处理序列数据,例如自然语言处理、语音识别和时间序列预测等任务。 以下是 “RNN encode-decode” 的一般概念&a…

Flink实操:Flink SQL实现SFTP文件读写操作

一、背景 公司需要将Doris数据库中的部分表数据同步至SFTP服务器,以供其他合作企业安全读取和使用。目前,平台数据同步功能统一使用Flink引擎进行实时同步、离线同步的工作。因此,希望能够充分利用现有的Flink引擎,并将其复用于这…

四 超级数据查看器 讲解稿 列表功能1

四 超级数据查看器 讲解稿 列表功能1 点击此处 以新页面 打开B站 播放教学视频 APP下载地址 百度手机助手 下载地址4 讲解稿全文: 大家好,今天我们讲解一下,超级数据查看器列表界面,分为1-2两集。 首先&#xff0c…

ChatGPT+MATLAB应用

MatGPT是一个由chatGPT类支持的MATLAB应用程序,由官方Toshiaki Takeuchi开发,允许您轻松访问OpenAI提供的chatGPT API。作为官方发布的内容,可靠性较高,而且也是完全免费开源的,全程自己配置,无需注册码或用…

MySQL的加锁规则

学习了MySQL的锁后,知道其有这么多锁,那应该会有些疑惑,这么多锁,究竟我在写sql语句时候用到哪个锁的,什么情况是用什么锁的?在哪里查看该sql语句是用了哪些锁的呢?加锁的规则是什么呢&#xff…

【C++初阶】第六站 : 模板初阶

前言: 本章知识点:泛型编程、函数模板、类模板 专栏: C初阶 目录 泛型编程 函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 5.模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 如何实现一…

Redis 的基本全局命令

前言 Redis 常用的有 5 种数据结构,字符串,列表,哈希表,集合,有序集合,每一种数据结构都有自己独特的命令,但也有些通用的全局命令,本文所提到的是最基本的命令,Redis 的…

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…