10.RedHat认证-Linux文件系统(上)

10.RedHat认证-Linux文件系统(上)

⽂件系统,顾名思义,是⼀个组织⽂件的“系统(system)”。file system

⽂件系统是⽤来组织⽂件的,通俗⼀点理解的话,⽂件系统是⽤来存储⽂件的。

硬盘是不能直接存放⽂件或数据。

我们通过将硬盘格式化之后,指定格式化后的⽂件系统,才可以存放数据。

不同的⽂件系统存放⽂件的⽅式也不相同。算法以及优化⽅式也可能不同,

所以如果⼀个操作系统不⽀持某个⽂件系统,那么这个⽂件系统上的数据,也就⽆法被这个操作系统识别

windows的⽂件系统

很多人对于windows的理解就是C盘,D盘,E盘。
其实咱们应该都知道C盘,D盘,E盘这些盘的空间是来⾃于硬盘。
你插⼊⼀个新的移动硬盘或者U盘,也会被windows识别出来。
windows的安装过程中,windows的安装程序所带的驱动会识别出你计算机的硬盘,
然后你对硬盘进⾏分区(partition),“然后格式化”然后安装操作系统。
part的意思是“部分”,partition就是分区的意思。

想使⽤已经有⽂件系统的分区,必须要进⾏挂载(mount),在windows当中有两种挂载⽅式,第⼀种是我们最常⽤的⼀种⽅式,是给⽂件系统分配⼀个盘符(C,D,E,F)。

第⼆种⽅法和Linux⼀样,将⽂件系统挂载到⼀个⽬录(可以⾮空,但是强烈建议是空⽬录)

mbr的初始化当想建⽴第四个主分区的时候,会将剩下的所有空间划分成扩展分区,然后在扩展分区⾥⾯划出⼀部分作为逻辑分区。
mbr主分区加扩展分区的数量最多等于4。
mbr单分区⼤⼩不超过2T
gpt的初始化最多可以达到1024个主分区+扩展分区。
GPT单分区最⼤分区18EB->18,874,368T

MBR(主引导记录): 如果磁盘选择了以MBR的⽅式进⾏初始化,那么磁盘的第⼀个扇区⼀定是512B.

主引导记录(master boot record,MBR)位于硬盘的第⼀物理扇区。由于历史原因,硬盘的⼀个扇区⼤⼩是512字节,包含最多446字节的启动代码、4个硬盘分区表项(每个表项16字节,共64字节)、2个签名字节 0x55,0xAA)。

扇区(sector),⼀个扇区是512B

Linux的⽂件系统

通过命令⾏查看当前系统的硬盘(没有⽹络存储的情况)
[root@server ~]# ls /dev/nvme0* -l
crw-------. 1 root root 243, 0 May 23 21:51 /dev/nvme0
brw-rw----. 1 root disk 259, 0 May 23 21:51 /dev/nvme0n1
brw-rw----. 1 root disk 259, 1 May 23 21:51
/dev/nvme0n1p1
brw-rw----. 1 root disk 259, 2 May 23 21:51
/dev/nvme0n1p2
[root@server ~]#
[root@server ~]# #b->block
[root@server ~]# #块设备
[root@server ~]# #nvme0n1表示第⼀块硬盘
[root@server ~]# #nvme0n1p1表示第⼀块硬盘的第⼀个分区
[root@server ~]# #nvme0n1p2表示第⼀块硬盘的第⼆个分区[root@server ~]# ls /dev/sd* -l
brw-rw----. 1 root disk 8, 0 May 23 22:02 /dev/sda
brw-rw----. 1 root disk 8, 16 May 23 22:02 /dev/sdb
在Linux系统当中,SATA硬盘和SCSI硬盘都会被设备成/dev/sd*。
IDE硬盘在早期的Linux版本会被识别成/dev/hd*第⼀块IDE(ATA)硬盘是/dev/hda
第⼆块IDE硬盘是/dev/hdb
第三块IDE硬盘是/dev/hdc
......
第⼆⼗六块IDE硬盘是/dev/hdz第⼀块SATA或SCSI硬盘是/dev/sda
第⼆块SATA或SCSI硬盘是/dev/sdb
第三块SATA或SCSI硬盘是/dev/sdc
.......
第⼆⼗六块SATA或SCSI硬盘是/dev/sdz⾮常重要
磁盘是有分区的
第⼀块磁盘的第⼀个分区就是/dev/sda1
第⼀块磁盘的第⼆个分区就是/dev/sda2
第⼀块磁盘的第三个分区就是/dev/sda3
第⼀块磁盘的第四个分区就是/dev/sda4
第⼀块磁盘的第五个分区就是/dev/sda5
第⼆块硬盘的第⼀个分区就是/dev/sdb1
公式就是第X块硬盘的第N个分区就是/dev/sdXn
X表示,a,b,c,d,e,f,g...z
N表示1,2,3,4,5,6....

Linux想使⽤磁盘的步骤和我们的windows⼀样。
加硬盘->分区->格式化->挂载

#通过命令⾏⽅式对磁盘进⾏分区(两种⽅式,第⼀种就是MBR,第⼆种就是GPT)
如果你采⽤MBR的⽅式进⾏分区就使⽤fdisk命令
如果你采⽤GPT的⽅式进⾏分区就使⽤gdisk命令(超过2T用这个分区)
还有其他分区的命令parted1.⼿动创建分区(效率太低)
2.⾃动创建分区(有⼀定的操作性)[root@server ~]# fdisk -l
查看当前所有磁盘的分区情况[root@server ~]# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 100 GiB, 107374182400 bytes,
209715200 sectors
查看当前某块硬盘的分区情况
⼀个sectors等于512B对于服务器来说,磁盘从使⽤⽬的来说分为3种,第⼀种是⽤来存放操作系统的,
此类硬盘应该只存放操作系统以及系统配置⽂件,剩下任何数据都不应该主动存放在此硬盘中。
第⼆种磁盘是⽤来存放本地⼤⽂件,⼀般这种磁盘我们叫做本地存储盘。
第三种磁盘是⽤来存放本地⼤⽂件,但是该磁盘并没有在本地,
⽽是使⽤了⽹络存储(SAN->storage area network),⼀般这种磁盘我们叫做⽹络存储。
首先,我新加了一块20GB的硬盘作为练习使用,

在这里插入图片描述

然后重启服务器,使用lsblk查看新添加的硬盘

在这里插入图片描述

使用fdisk来格式化磁盘创建分区,fidisk /dev/sdb

在这里插入图片描述

请注意上述的 这句话

设备不包含可识别的分区表。                                                                                                               
创建了一个磁盘标识符为 0xaedc8553 的新 DOS 磁盘标签。我们知道,使用fdisk命令创建的分区格式是MBR

这意味着这一句话就已经将引导分区(MBR)写入到了你的磁盘中,现在还未真正写入,只是在内存中,只有当你输入w(Wirte)写入命令的时候,才会真正的将引导分区写入你的磁盘。

以这句话,就可以判断出这块硬盘是不是你新添加的硬盘。(就是有没有被初始化过)

输入 q可以退出,退出后,再进来,还是这个页面,因为引导分区未真正写入。

输入m,查看帮助

在这里插入图片描述

创建分区

你看这里的分区是从2048开始的,最开始的0-2047分区是保留的

是因为系统保留下来为你以后格式化GPT分区做的准备。

在这里插入图片描述

在这里分区的指定空间,可以使用+1G +100M 等等,这样更加方便快捷。

在这里插入图片描述

按w 写入内存(保存退出)

在这里插入图片描述

主分区只能创建四个,第四个创建的分区叫做扩展分区,也就是说,主分区的创建是有限制的。

那么扩展分区就是为了解决这个限制,创建了扩展分区之后,在扩展分区里创建的分区叫做逻辑分区。

创建扩展分区输入e,

创建逻辑分区输入l,(逻辑分区的分区号至少是从5开始的)

实际情况是:我们单独创建一个主分区,然后剩下的空间全部给扩展分区,然后在扩展分区里创建逻辑分区,

实际上,当我们创建主分区的时候是有数量限制的,但是创建逻辑分区的时候是没有数量限制的。

在这里插入图片描述

上面的sd5 就是逻辑分区, sdb2是扩展分区

这里的sdb5的大小其实是分的是sdb2(扩展分区)的容量大小,实际上的容量还是,sdb1+sdb2的总容量。

以上是手动创建分区的方式
自动分区
自动分区采用输入重定向的方式。
就是创建一个文本,将分区的命令写入到文件里,然后重定向即可。vim test
[root@centos8 ~]# fdisk /dev/sdb < test &> /dev/null #扔到黑洞文件
[root@centos8 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8d773471Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 10487807 10485760   5G 83 Linux

这样就结束了

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

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

相关文章

Xed编辑器开发第三期:使用Rust从0到1写一个文本编辑器

继续Xed编辑器开发第二期:使用Rust从0到1写一个文本编辑器的开发进度&#xff0c;这是第三期的内容&#xff1a; 4.1 逐行清除 在每次刷新之前清除整个屏幕似乎不太理想&#xff0c;最好在重新绘制每行时清除每行。让我们删除 Clear(ClearType::All)&#xff0c;而是在我们绘…

Double 4 VR混合现实情景实训教学系统在戏剧英语课堂上的应用

随着科技的不断发展&#xff0c;Double 4 VR混合现实情景实训教学系统在教育领域的应用越来越广泛。在戏剧英语课堂上&#xff0c;这种教学系统可以为学生提供更加生动、逼真的学习环境&#xff0c;增强学生的学习体验和效果。 一、模拟真实场景&#xff0c;增强学习体验 Doubl…

mybatis关联查询使用resultMap查询到了多条,结果返回一条。

今天在写代码时候&#xff0c;遇到了一个很让我费解的问题&#xff0c;在使用关联查询的时候&#xff0c;在明明数据库里面&#xff0c;已经查到了两条数据&#xff0c;结果resultMap这个集合里面&#xff0c;就只返回一条数据。 数据库的SQL&#xff1a; mybatis的xml里面的r…

cesuim

new Cesium.Color(255,255,0,1), //颜色 Math.PI/2color: Cesium.Color.fromCssColorString("#f40"), //16进制颜色初始化地球 import * as Cesium from "cesium";import { onMounted } from "vue"; onMounted(() > {Cesium.Ion.defaultAcc…

【Python编程实战】基于Python语言实现学生信息管理系统

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

C++的第一道门坎:类与对象(二)

一.类中生成的默认成员函数详解 0.类的6个默认成员函数 编译器会给类生成六个默认成员函数&#xff0c;在类中即使我们什么都不做&#xff0c;也会自动生成。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数。 下面我们逐…

重学java 50 集合 上

路随远&#xff0c;行则将至&#xff1b;路虽难&#xff0c;做则必成 —— 24.5.26 一、Collection接口 1.概述: 单列集合的顶级接口 2.使用 Collection<泛型>对象名new 实现类集合对象<>() <E>:泛型,决定集合中的元素都是啥类型的,必须指定的是引用…

网络渗透day2

Windows登录的明文密码存储过程和密文存储位置 明文密码存储过程&#xff1a; Windows操作系统不会以明文形式存储用户密码。相反&#xff0c;当用户设置或更改密码时&#xff0c;系统会对密码进行哈希处理&#xff0c;然后存储其哈希值。哈希处理的目的是为了提高密码的安全性…

Android性能优化方案

1.启动优化&#xff1a; application中不要做大量耗时操作,如果必须的话&#xff0c;建议异步做耗时操作2.布局优化&#xff1a;使用合理的控件选择&#xff0c;少嵌套。&#xff08;合理使用include,merge,viewStub等使用&#xff09;3.apk优化&#xff08;资源文件优化&#…

在 Vue 中实现表单校验失败后页面滚动到错误处

在 Web 应用程序中&#xff0c;表单验证是保证用户输入的正确性和完整性的关键部分。当用户提交表单时&#xff0c;我们经常需要验证表单数据&#xff0c;并在发现错误时向用户提示。在 Vue.js 中&#xff0c;实现表单验证通常是使用一些流行的库&#xff0c;比如 VeeValidate …

Linux安装Nginx脚本

Hello &#xff0c; 我是恒。 由于有一个脚本网页的仓库&#xff0c;开发必不可少的是自动化安装脚本 该shell脚本是根据某篇文章的脚本改进优化后写出来的&#xff0c;增加了软链接创建和系统服务注册的功能。 同时我也书写了PostgreSQL和Nvm的脚本&#xff0c;请在脚本专栏阅…

Github2024-05-21 Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10C项目1TypeScript项目1youtube-dl - 从YouTube和其他网站下载视频的命令行程序 创建周期:4951 天开发语言:Python协议类型:The …

同时安装python2 和python3

最近的项目因为工具的原因 需要同时安装python2 和python3 我又想学着使用python 写东西 导致遇到了很多问题 记录下来 1 同时安装 python2 和python 1.1 安装完把/确认 Path 环境变量里 同时有python2,python2\Scripts和python3 ,python3\Scripts四个环境变量 修改python3…

LabVIEW通过OPC与PLC通讯

使用LabVIEW通过OPC与PLC&#xff08;可编程逻辑控制器&#xff09;通讯是一种常见的工业自动化解决方案。以下是详细的过程介绍&#xff0c;帮助理解并实现该通讯。 1. 理解OPC与PLC OPC&#xff1a;OPC是一种工业通讯协议&#xff0c;旨在实现不同硬件和软件之间的互操作性…

【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)

这篇文章,主要介绍SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)。 目录 一、多数据源配置 1.1、多数据源介绍 1.2、搭建基础工程

AIGC(人工智能生成内容)行业现在适合进入吗

AIGC&#xff08;人工智能生成内容&#xff09;行业现在适合进入吗 发展前景 随着深度学习、自然语言处理&#xff08;NLP&#xff09;、计算机视觉等人工智能技术的飞速发展&#xff0c;AIGC在文本、图像、音频、视频等多个领域都取得了显著的成果&#xff0c;为行业发展提供…

AWS存储之Amazon Aurora

Amazon Aurora是亚马逊自研提供的一种高性能、高可用性的关系型数据库引擎&#xff0c;兼容MySQL和PostgreSQL&#xff0c;提供了与这两种数据库引擎兼容的功能&#xff0c;同时具有更高的性能和可靠性。 Amazon Aurora在全球范围内提供无与伦比的高性能和可用性&#xff0c;完…

3步骤找回丢失文件!EasyRecovery让你轻松应对数据灾难!

EasyRecovery&#xff1a;数据丢失的终结者&#xff0c;您的数字世界守护神 在数字化时代&#xff0c;数据已经成为我们生活的一部分。无论是个人照片、重要文件还是企业资料&#xff0c;数据都扮演着重要的角色。然而&#xff0c;意外删除、格式化、系统崩溃或病毒攻击等原因导…

云原生架构内涵_2.云原生架构原则

云原生架构本身作为一种架构&#xff0c;也有若干架构原则作为应用架构的核心架构控制面&#xff0c;通过遵从这些架构原则可以让技术主管和架构师在做技术选择时不会出现大的偏差。 1.服务化原则 当代码规模超出小团队的合作范围时&#xff0c;就有必要进行服务化拆分了&…

QT的互斥量和信号量

文章目录 一、mutex互斥量1、mutex2、相关成员函数 二、semaphore信号量1、信号量2、成员函数 三、Linux内核中的互斥锁、读写锁、自旋锁、信号量四、QT简单日志类代码 一、mutex互斥量 1、mutex 目的是保护对象、数据结构或代码段&#xff0c;以便一次只有一个线程可以访问它…