磁盘管理与文件管理

文章目录

  • 一、磁盘结构
  • 二、MBR与磁盘分区
    • 分区的优势与缺点
    • 分区的方式
    • 文件系统
    • 分区工具
    • 挂载与解挂载

一、磁盘结构

1.硬盘结构
硬盘分类:
1.机械硬盘:靠磁头转动找数据 慢 便宜
2.固态硬盘:靠芯片去找数据 快 贵

硬盘的数据结构:

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节
  • 磁道:同一盘片不同半径的同心圆
  • 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

硬盘接口的类型:

  • IDE:133MB/s,并行接口,早期家用电脑
  • SCSI:640MB/s,并行接口,早期服务器
  • SATA:6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线
  • SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。
    在这里插入图片描述

二、MBR与磁盘分区

分区的优势与缺点

优势:
1.优化读写性能
2.实现磁盘的空间配额限制
3.提高修复速度
4.安装多个系统
5.采用不同的文件系统
缺点:
1.必须是连续的空间
2.无法扩容

分区的方式

1.MBR分区
主引导记录,是硬盘上的第一个扇区,想要读数据得从这个扇区开始。MBR一共512字节,前446字节为开机引导程序,引导硬件找到我们的操作系统,后64字节为分区表(其中每个16字节标识一个分区),表明了分区的范围即分区从哪里到哪里结束,最后两个字节代表MBR结束位。最多只能分四个分区。文件大小只支持2T以下。
在这里插入图片描述

分区类型:

  • 主分区:可以直接使用,安装操作系统 存储文件等,使用ID1-4。
  • 扩展分区:不可以直接使用,需要再划分逻辑分区, 让分区超过4个 。他不是真正的分区,它存储逻辑分区的分区表 。扩展分区是特殊的主分区。
  • 逻辑分区:可以直接使用,逻辑分区的空间必须从扩展分区中得到(必须先有扩展分区),逻辑分区的序号从5开始。

2. GPT分区
GPT分区(全局唯一标识分区表)可以支持2t以上文件,支持128分区。

文件系统

文件系统:管理文件的系统(软件)是需要安装在磁盘上的,格式化的目的就是在磁盘上安装文件系统。
1.XFS文件系统

  • 存放文件和目录数据的分区
  • 高性能的入职型文件系统
  • CentOS 7系统中默认使用的文件系统
    2.SWAP文件交换系统
    主要作用:当内存不足时将硬盘的空间当内存使用。
    3.EXT4
    Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升。1EB=1024PB=1024*1024TB

文件系统修复

e2fsck:ext系列文件专用的检测修复工具
xfs_repair:xfs文件系统专用检测修复工具

分区工具

常见的分区工具简介:

分区工具作用
fdisk支持2T及以下分区
gdisk全支持
parted全支持

区别:fdisk、gdisk分完区后不保存不生效有后悔的空间,推荐使用,parted即时生效,不推荐使用。

fdisk

命令效果
fdisk-l /dev/sdb查看sdb磁盘分区的信息
fdisk 设备名(必须是一整块磁盘)对设备进行分区

fdisk [磁盘设备]

  • m 打印出菜单
  • p 打印出当前分区表
  • n 新建一个分区
  • d 删除一个分区
  • t 改变分区的属性,系统ID
  • w 保存
  • q 不保存退出
    在这里插入图片描述
    在这里插入图片描述
    mkfs
    创建文件系统(格式化)常用选项
  • -t {ext2|ext3|ext4|xfs} 指定文件系统类型
  • -b {1024|2048|4096} 指定块 block 大小
    或者等价于mkfs.文件系统+块设备
    在这里插入图片描述
    重要命令
命令效果
lsblk显示块设备(磁盘)显示比较详细
lsblk-f查看分区类型
partprobe分完区后,系统未识别可以用来刷新分区表
blkid查看设备的唯一标识符UUID
mkfs-t 或者mkfs.指定分区类型
df-Th查看分区类型,磁盘使用量等信息

挂载与解挂载

mount 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
mount -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’ 挂载点目录
注意:挂载点目录必须事先存在,建议使用空目录

挂载规则:

  • 一个挂载点同一时间只能挂载一个设备
  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 通常挂载点一般是已存在空的目录

mount选项:

  • -t fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
  • -r readonly,只读挂载
  • -w read and write, 读写挂载,此为默认设置,可省
  • -n 不更新/etc/mtab,mount不可见
  • -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有 auto功能)
  • -U 'UUID' 以UUID指定要挂载的设备
    
  • -B, --bind 绑定目录到另一个目录上
  • -o options:(挂载文件系统的选项),多个选项使用逗号分隔
选项功能
rw/ro是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。
async/sync此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。
dev/nodev是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。
auto/noauto是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。
suid/nosuid设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。
exec/noexec设定在文件系统中是否允许执行可执行文件,默认是允许。
user/nouser设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。
defaults定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。
remount重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

在这里插入图片描述
解挂载
umount 设备名|挂载点
卸载时:可使用设备,也可以使用挂载点
在这里插入图片描述
无法解挂载的问题
1.你在挂载目录
2.别人在挂载目录

fuser -v MOUNT_POINT
查看正在访问指定文件系统的进程
fuser -km MOUNT_POINT
终止所有在正访问指定的文件系统的进程

永久挂载
将文件写入 /etc/fstab,且用uuid挂载
在这里插入图片描述
在这里插入图片描述
设置完成后要用mount -a测试一下,确保不会出错。

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

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

相关文章

InternVideo2重塑视频理解新标杆,多模态学习引领行业风向

引言:视频理解的新篇章——InternVideo2的介绍 随着视频内容在日常生活中的普及,视频理解技术的重要性日益凸显。视频不仅包含丰富的视觉信息,还蕴含着动态变化和多模态元素,如音频和文本。这些特性使得视频成为一个复杂的数据类型…

蓝桥杯-求阶乘

问题描述 满足 N!的末尾恰好有 区 个o的最小的 N 是多少? 如果这样的 N 不存在输出 -1。 输入格式 一个整数 区。 输出格式 一个整数代表答案。 样例输入 样例输出 10 评测用例规模与约定 对于 30% 的数据,1<K<106 对于 100% 的数据,1<K<1018 运行限制 最大运行时…

Leetcode算法训练日记 | day14

一、二叉树的前序遍历 1.题目 Leetcode&#xff1a;第 144 题 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#…

wps可以打钩的框框

方法一&#xff1a; 输入2611&#xff0c;按下altx 方法二&#xff1a; R 选中后->开始->字体wingdings字体

MATLAB 点云体素滤波 (58)

MATLAB 体素滤波 (58) 一、基本原理二、算法实现1.代码数据的海量性始终是点云处理时需要面临的一个大问题,严重的时间消耗和内存占用影响了点云处理的发展,当然了,点云数量主要应该看项目的实际需求,若是对细节要求较高,那么点云数量不可过少,但是要求过低时,我们就可…

番外篇 | YOLOv8改进之引入YOLOv9的ADown模块 | 替换YOLOv8卷积

前言:Hello大家好,我是小哥谈。YOLOv9是一种目标检测算法,而ADown模块是YOLOv9中的一个重要组成部分。ADown模块主要用于特征提取和下采样操作,以便在后续的检测任务中更好地捕捉目标的特征。具体来说,ADown模块是YOLOv9中的一个卷积块,由一系列卷积层和池化层组成。它的…

Linux网卡:连接虚拟与现实的桥梁

在介绍Linux网卡之前&#xff0c;让我们先迈入时光机&#x1f570;️&#xff0c;回到1980年代末期&#xff0c;互联网正在逐步从一个科研网络向公众网络转变&#xff0c;Linux——一个自由和开源的操作系统诞生了&#x1f427;。Linux的出现&#xff0c;对于计算机科学领域来说…

B端:发起个申请,审批慢如蜗牛,那是你不懂高效审批流程设计。

有时候我们发起个申请&#xff0c;让领导和上级审批&#xff0c;迟迟不见动静&#xff0c;又不好一直催促领导&#xff0c;或者领导不会操作&#xff0c;误操作&#xff0c;怎么办&#xff0c;其实你是缺乏高效的流程设计。 设计一个高效的审批流程对于B端系统非常重要&#x…

Unity核心学习

目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…

高精度地图导航论文汇总

文章目录 2022基于高精度地图的智能车辆路径规划与跟踪控制研究[M] 2023一种无人驾驶融合决策方案的设计与实现[M] 2022 基于高精度地图的智能车辆路径规划与跟踪控制研究[M] 摘要&#xff1a; 随着计算机及通信技术的不断进步&#xff0c;汽车行业也得到了飞速的发展。汽车在…

ZStack Cloud 5.0.0正式发布——Vhost主存储、隔离PVLAN网络、云平台报警优化、灰度升级增强四大亮点简析

近日&#xff0c;ZStack Cloud 5.0.0正式发布&#xff0c;推出了包含Vhost主存储、隔离PVLAN网络、云平台报警优化、灰度升级增强在内的一系列重要功能。云主机管理、物理机运维、密评合规、灾备服务等诸多使用场景和功能模块均有更新&#xff0c;为您带来更完善的平台服务、更…

机器人坐标系转换从局部坐标系转换到世界坐标系

矩阵方式&#xff1a; 下面是代码&#xff1a; #include <Eigen/Dense>static void transLocalToWorldCloudWith2dPose(const PointCloud &pc_tar, const QPose3f &pose, PointCloud &pc_org) {if (pc_tar.empty())return;PointCloud tmp_pc;Eigen::Rotati…

解读POP3:电子邮件查看必备技巧揭秘

在您点击阅读时&#xff0c;是否曾想过您是如何如此轻松地查看电子邮件的&#xff1f;对我们来说&#xff0c;这听起来可能只是几秒钟的加载时间&#xff0c;但实际上幕后发生了许多事情。邮局协议&#xff08;POP3&#xff09;是一种应用层协议&#xff0c;电子邮件客户端使用…

基于Android的记单词App系统的设计与实现

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Linkedin领英封号原因是什么?如何养号?

领英作为全球最大的职场社交平台&#xff0c;用户总数已超过8亿&#xff0c;覆盖200多个国家和地区&#xff0c;中国会员总数也已经累计超过5700万&#xff0c;庞大的基数使得他迅速成为跨境业务员建立形象&#xff0c;拓展人脉&#xff0c;开发客户的重要渠道。“领英职场”的…

C语言面试题之检查二叉树平衡性

检查二叉树平衡性 实例要求 1、实现一个函数&#xff0c;检查二叉树是否平衡&#xff1b;2、在这个问题中&#xff0c;平衡树的定义如下&#xff1a;任意一个节点&#xff0c;其两棵子树的高度差不超过 1&#xff1b; 示例 1: 给定二叉树 [3,9,20,null,null,15,7]3/ \9 20/…

【PyQt5篇】和子线程进行通信

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;和子线程进行通信&#x1f388;运行结果 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui …

如何保证消息不丢失?——使用rabbitmq的死信队列!

如何保证消息不丢失?——使用rabbitmq的死信队列&#xff01; 1、什么是死信 在 RabbitMQ 中充当主角的就是消息&#xff0c;在不同场景下&#xff0c;消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式&#xff0c;这些场景包括&#xff1a; 消息被拒绝访问&am…

c/c++函数: strtok() ,strtok_s()

概述 函数的原型&#xff1a; char* strtok : strtok (char* _String, char const* _Delimiter); char* strtok_s: strtok_s( char* _String, char const* _Delimiter, char** _Context);函数的参数: _String : 传入一个字符串 _Delimiter: 传入一个字符字…

【canvas】canvas基础使用(四):线型的设置

简言 学习如何使用canvas来设置线形。 线型的方法和属性 使用canvas经常会和线段打交道&#xff0c;下面是设置线型的常用属性和方法。 lineWidth 线宽 CanvasRenderingContext2D.lineWidth 是 Canvas 2D API 设置线段厚度的属性&#xff08;即线段的宽度&#xff09;。 线…