【Linux】磁盘与文件系统管理

目录

一、 磁盘结构

1. 数据结构

2. 物理结构

3. 硬盘的接口类型

二、 如何使用Linux中的磁盘

三、 文件系统

四、 磁盘分区

1. MBR分区

2. 分区的优缺点

3. 磁盘及分区的管理工具

五、格式化与挂载

1. 格式化

2. 挂载

六、实例演示

1. 演示分区格式化挂载

2. 拓展 演示swap分区


一、 磁盘结构

1. 数据结构

  • 扇区:磁盘上的每一个被等分为若干个弧段,这些弧段就是扇区。硬盘的第一个扇区叫引导扇区。一个扇区512字节,是磁盘的最小单位。
  • 磁道:磁盘旋转时,磁头保持位置不变,就会在磁盘表面划出一个圆形轨迹,这即是磁道。
  • 柱面:多个盘片构成的盘组中,由不同盘片的面且处于同一半径圆的多个磁道组成的一个圆柱面。

2. 物理结构

  • 盘片:硬盘有多个盘片,每个盘片有两面。
  • 磁头:每面一个磁头。
  • 硬盘的存储容量=磁头数 x 磁道数 x 每道扇区数 x 每个扇区字节数

3. 硬盘的接口类型

硬盘的重要指标:容量、读写性能

硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速度不是实际硬盘数据传输速度。

(1)ATA(IDE),并口线连接主板和硬盘,抗干扰性弱且排线占用空间大,不利于散热,近乎被SATA取代。

(2)SATA,串口线连接,抗干扰强,支持热插拔等,速度快,纠错能力强。

(3)SCSI,小型机系统接口,广为工作站级个人电脑以及服务器所用,传输时CPU占用率较低,转速快,支持热插拔等。并行接口,早期服务器。

(4)SAS,新一代SCSI,和SATA硬盘相同,都是采用序列式技术来获得更高的传输速度,可达6G/s。

二、 如何使用Linux中的磁盘

分区 ---> 格式化=安装文件系统软件(编译) ---> 挂载

三、 文件系统

文件系统的定义:管理文件的系统(软件)

文件系统的类型:

  • XFS:centos7默认,性能强
  • FAT16、FAT32:最大支持32GB分区,单个文件只支持最大4G
  • NTFS:单个文件最大64G,window默认
  • EXT4:centos6默认

四、 磁盘分区

1. MBR分区

MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节。

基本特性:

  • MBR是主引导记录446字节,位于硬盘第一个物理扇区,其中包含了主引导程序和硬盘分区表,以512字节大小存储
  • 分区表有4个分区记录区,每个分区记录区占16个字节,共64字节
  • MBR最多支持4个主分区或3个主分区1个拓展分区(拓展分区可包含多个逻辑分区)
  • MBR只支持2GB以下的硬盘

硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为a、b、c等字母序号。第一个IDE设备为hda,第二个SCSI设备为sdb等。

分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(主分区、扩展分区、逻辑分区)对应的数字序号即可。例如第一个IDE硬盘中的第一个分区表示hda1、第二个分区表示hda2等。

分区的类别:

  • 主分区:可以直接使用,安装操作系统文件等
  • 拓展分区(特殊的主分区):不能直接使用,需要再划分逻辑分区
  • 逻辑分区:可以直接使用,一般只用于存储文件

主分区的序号为1-4,逻辑分区的序号从5开始

2. 分区的优缺点

分区的好处:加快磁盘的读写速度;便于管理磁盘空间和系统文件;增加数据的安全性

分区的缺点:必须是连续的空间;一旦分好,无法增加或减少空间

3. 磁盘及分区的管理工具

fdisk:对2t及以下分区 推荐 分完区,不保存则不生效 管理MBR分区

gdisk:全支持 推荐 分完区,不保存则不生效 管理GPT分区

parted:全支持 不推荐 即时生效,分完立马生效 高级分区操作,可以是交互或非交互方式

fdisk 设备名 //进入交互页面

fdisk -l查看所有磁盘分区信息
fdisk -l 设备名查看某个磁盘的分区信息
fdisk /dev/sdb(设备名)

进入交互页面对(sdb)磁盘进行分区

​​​​​​​

创建分区后,未出现可以使用 partprobe 刷新检测分区表 partprobe是一个命令行工具,用于重新加载Linux系统中的分区表信息,而无需重新启动系统。通常用于在对磁盘进行分区操作或更改分区表后,立即更新系统对分区的识别。

磁盘命令和一些查看命令

lsblk查看系统中的磁盘和分区状态
blkid查看设备的唯一标识符
partprobe刷新检测分区表
df

显示挂载情况和磁盘剩余情况 -T显示文件系统 -h显示单位​​​​​​​

mount查看所有挂载情况和权限
free查看内存和swap分区buff写缓存cache读缓存
badblocks      设备名查看磁盘的坏道
lscpu查看cpu信息
date看时间
uname -r查看系统内核版本
cat /etc/os-release查看操作系统

五、格式化与挂载

1. 格式化

命令:mkfs -t 文件系统类型 设备名的分区

或        mkfs.文件系统类型 设备名的分区

mkswap 设备名的分区         用于格式化swap分区

2. 挂载

2.1 挂载

命令:mount 设备名 挂载到的目的文件夹

2.2 解挂载

命令:umount 设备名/已被挂载的文件夹路径

​​​​​​​

2.3 挂载的规则

  • 一个挂载点同时挂载了多个设备,只显示最后一个设备的数据,其他设备的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 挂载点一般是已存在的空目录

2.4 解决无法解挂载问题

(1)自己在挂载目录时,离开挂载目录即可。

(2)别人在挂载目录时,使用fuser -v 挂载目录路径,可以查看谁在挂载目录,

再使用fuser -km 挂载目录路径,终止所有在正访问指定的文件系统的进程后,

再umount 设备名,来解挂载。

2.5 重新挂载更改权限命令

mount  -o  rw,remount  挂载目录路径
选项功能
rw/ro是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。
remount重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

2.6 永久挂载

先使用blkid查看设备的UUID,然后使用vim /etc/fstab进入永久挂载文件进行配置,在末行添加如下:

#设备名/UUID     挂载点     分区类型     权限     0 0设备的UUID    挂载目录路径  文件系统类型 defaults  0 0

保存后,使用mount -a可以直接将配置文件中的挂载项进行挂载。

六、实例演示

1. 演示分区格式化挂载

                                                                    (Centos7系统)

1. 首先添加磁盘

​​​​​​​



注意:

若在做第一步时,虚拟机没有关闭,输入命令lsblk,则看不到新添加的硬盘

需要重启虚拟机,或者输入以下命令,来刷新接口后,再查看即可看到

echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan


 


2. 对新磁盘进行分区

再使用lsblk查看

若保存后没有看到新建的分区,则输入partprobe命令来刷新检测分区表,然后再查看即可


3. 格式化分区

​​​​​​​

4. 挂载

mount命令也可以查看是否挂载成功


演示完毕。

2. 拓展 演示swap分区

1. 新增一个4G大小的硬盘

2. 新建分区

3. 修改新建分区的类型

4. 格式化

5. 开启新建的swap分区

先查看现有的swap分区大小

再打开刚刚新建的swap分区

也可以关闭swap分区

6. 配置文件 /etc/fstab

查看新建分区的UUID

编辑配置文件

vim /etc/fstab

保存后,再查看

配置成功。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CICD流水线 发布应用到docker镜像仓库

准备工作 1.先注册免费的镜像仓库 复制链接: https://cr.console.aliyun.com/cn-beijing/instances 实施 1. 新建流水线,选择模板 2.添加流水线源,及是你的代码仓库, 选择对应分支. 3.代码检查以及单元测试,这个步骤可以不用动它. 4. …

【Android】App通信基础架构相关类源码解析

应用通信基础架构相关类源码解析 这里主要对Android App开发时,常用到的一些通信基础类进行一下源码的简单分析,包括: Handler:处理器,与某个Looper(一个线程对应一个Looper)进行关联。用于接…

基于SpringBoot+Vue的大学生体质测试管理系统(源码+文档+部署+讲解)

一.系统概述 大学生体质测试管理系统提供给用户一个简单方便体质测试管理信息,通过留言区互动更方便。本系统采用了B/S体系的结构,使用了java技术以及MYSQL作为后台数据库进行开发。系统主要分为系统管理员、教师和用户三个部分,系统管理员主…

四级作文模板——议论文——现象解释

议论文类型 现象解释 第一句 with the rapid development of society / economy / education / technology / culture / medical / service(任选) , it is of great necessity for youngster / students to improve our speaking ability.随着社会/经济/教育/科技/文化/医疗…

redis 集群模式(redis cluster)介绍

目录 一 redis cluster 相关定义 1, redis cluster 是什么 2,redis 集群的组成 3,集群的作用 4,集群架构图 二 Redis集群的数据分片 1,哈希槽是什么 2,哈希槽如何排布 3,Redis集…

Economic Census

Economic Census 经济普查,企业需提交文档(1-6),或者汇总扫描提交

【Spring Cloud Alibaba】9 - OpenFeign集成Sentinel实现服务降级

目录 一、简介Sentinel 是什么如何引入Sentinel 二、服务搭建1.安装Sentinel控制台1.1 下载1.2 启动1.3 访问 2.改造服务提供者cloud-provider服务2.1 引入依赖2.2 添加API2.3 添加配置文件 3.改造cloud-consumer-feign服务3.1 引入依赖3.2 添加Feign接口3.3 添加服务降级类3.4…

2023.4.7 机器学习周报

目录 引言 Abstract 文献阅读 1、题目 2、引言 3、过去方案和Motivation 4、Segment Anything模型 5、创新点 6、实验过程 7、实验结果 1、评价绩效 2、检测评价 3、跟踪评价 8、 结论 总结 引言 本周阅读了一篇关于高效的任意分割模型的文献,用于自…

Splunk Attack Range:一款针对Splunk安全的模拟测试环境创建工具

关于Splunk Attack Range Splunk Attack Range是一款针对Splunk安全的模拟测试环境创建工具,该工具完全开源,目前由Splunk威胁研究团队负责维护。 该工具能够帮助广大研究人员构建模拟攻击测试所用的本地或云端环境,并将数据转发至Splunk实例…

Pytest插件pytest-selenium-让自动化测试更简洁

在现代Web应用的开发中,自动化测试成为确保网站质量的重要手段之一。而Pytest插件 pytest-selenium 则为开发者提供了简单而强大的工具,以便于使用Python进行Web应用的自动化测试。本文将深入介绍 pytest-selenium 插件的基本用法和实际案例,…

达梦数据库的V$DM_INI和V$PARAMETER系统视图

V$DM_INI和V$PARAMETER是达梦数据库中两个常用的系统视图,用于查看数据库的配置参数。这两个视图的主要区别在于它们展示参数的来源和用途。 V$DM_INI V$DM_INI视图主要用于展示数据库启动时加载的初始化参数信息。这些信息通常来自于数据库的初始化参数文件&…

VSCode+Cmake 调试时向目标传递参数

我有一个遍历文件层次结构的程序,程序根据传入的文件路径,对该路径下的所有文件进行遍历。这个程序生成一个名为 ftw 的可执行文件,如果我要遍历 /bin 目录,用法为: ftw /bin问题是,如果我想单步跟踪&…

docker + miniconda + python 环境安装与迁移(简化版)

本文主要列出从安装dockerpython环境到迁移环境的整体步骤。windows与linux之间进行测试。 详细版可以参考:docker miniconda python 环境安装与迁移(详细版)-CSDN博客 大概过程手绘了一下: 一、docker 安装 略过&#xff0c…

数据库之DQL操作(数据查询语言)

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。查询关键字: SELECT。 本节介绍以下表为例: create table emp(id int comment 编号,workno varchar(10) comment 工号,nam…

Kafka参数介绍

官网参数介绍:Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/documentation/#configuration

java中使用雪花算法(Snowflake)为分布式系统生成全局唯一ID

(全局唯一ID的解决方案有很多种,这里主要是介绍和学习Snowflake算法) 什么是雪花算法(Snowflake) 雪花算法(Snowflake Algorithm)是由Twitter公司在2010年左右提出的一种分布式ID生成算法&…

并查集-合并集合

#include<iostream> using namespace std; const int N 100010;int n, m; int p[N]; int find(int x)//返回x的祖宗节点路径压缩 {if (p[x] ! x)p[x] find(p[x]);return p[x]; } int main() {scanf("%d%d", &n, &m);for (int i 1; i < n; i)p[i]…

html写一个登录注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册登录界面Ⅰ</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.mi…

一闪论文靠谱吗 #媒体#笔记

一闪论文是一个以其高效、靠谱的特点而闻名的论文写作工具&#xff0c;它不仅可以帮助用户快速完成论文&#xff0c;还能够有效降低查重率&#xff0c;是许多学生和学者的首选。 首先&#xff0c;一闪论文的操作简单方便&#xff0c;用户只需上传论文内容&#xff0c;选择需要查…

linux上使用redis-cli登录以及操作redis

1、找到redis-cli 2、输入redis-cli回车 3、登录redis 输入auth密码 4、登录成功