linux 删除分区_详解linux系统架构--文件系统体系

概述

之前已经对Linux系统架构的内核部分单独做了深入介绍,今天就拿Linux系统架构中的文件系统做一下介绍吧~先介绍下概念:

文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、EXT4、 FAT、 FAT32、 VFAT和ISO9660。


01

文件类型

Linux下面的文件类型主要有:

1) 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。

2) 目录文件:目录,存储文件的唯一地方。

3) 链接文件:指向同一个文件或目录的的文件。

4) 设备文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。

5)管道(FIFO)文件: 提供进程之间通信的一种方式

6)套接字(socket) 文件: 该文件类型与网络通信有关

可以通过ls –l, file, stat几个命令来查看文件的类型等相关信息。


02

Linux目录

文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上;

目录提供了管理文件的一个方便而有效的途径。

Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。

4d06f52d8136ba56cfd4e47f58c2fb4a.png

Linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。


03

Linux磁盘分区

1、主分区,扩展分区和逻辑分区

Linux硬盘分区一共有三种:主分区,扩展分区和逻辑分区。

硬盘的分区主要分为主分区(Primary Partion)和扩展分区(Extension Partion)两种,主分区和扩展分区的数目之和不能大于四个。

主分区(Primary Partion):可以马上被使用但不能再分区。

扩展分区(Extension Partion):必须再进行分区后才能使用,也就是说它必须还要进行二次分区。

逻辑分区((Logical Partion)):由扩展分区建立起来的分区,逻辑分区没有数量上限制。

扩展分区只不过是逻辑分区的“容器”,实际上只有主分区和逻辑分区进行数据存储。

2、Linux下硬盘分区的标识

硬盘分区的标识一般使用/dev/hd[a-z]X或者/dev/sd[a-z]X来标识,其中[a-z]代表硬盘号,X代表硬盘内的分区号。

整块硬盘分区的块号标识:Linux下用hda、hdb、sda、sdb 等来标识不同的硬盘;

其中:

IDE接口硬盘:表示为/dev/hda1、/dev/hdb …;

SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb … … ;

硬盘内的分区:如果X的值是1到4,表示硬盘的主分区(包含扩展分区);逻辑分区从是从5开始的,比如/dev/hda5肯定是逻辑分区了;

例如:

用hda1、hda2、 hda5、hda6 来标识不同的分区。其中,字母a代表第一块硬盘,b代表第二块硬盘,依次类推。而数字1 代表一块硬盘的第一个分区、2 代表第二个分区,依次类推。1 到4 对应的是主分区(Primary Partition)或扩展分区(Extension Partition)。从5开始,对应的都是硬盘的逻辑分区(Logical Partition)。一块硬盘即使只有一个主分区,逻辑分区也是从5开始编号的,这点应特别注意。

d78728de463b6fd21f635e30764ace24.png

04

linux文件系统

文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。

1、文件系统类型:

ext2 : 早期linux中常用的文件系统ext3 : ext2的升级版,带日志功能ext4: 目前主流的Linux文件系统RAMFS : 内存文件系统,速度很快NFS : 网络文件系统,由SUN发明,主要用于远程文件共享MS-DOS : MS-DOS文件系统VFAT : Windows 95/98 操作系统采用的文件系统FAT : Windows XP 操作系统采用的文件系统NTFS: Windows NT/XP 操作系统采用的文件系统HPFS : OS/2 操作系统采用的文件系统PROC : 虚拟的进程文件系统ISO9660 : 大部分光盘所采用的文件系统ufsSun : OS 所采用的文件系统NCPFS : Novell 服务器所采用的文件系统SMBFS : Samba 的共享文件系统XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件JFS :IBM的AIX使用的日志文件系统ReiserFS : 基于平衡树结构的文件系统udf: 可擦写的数据光盘文件系统

2、文件系统特性:

磁盘分区完毕后还需要进行格式化(format),之后操作系统才能够使用这个分区。 格式化的目的是能使操作系统可以使用的文件系统格式(即我们上面提到文件系统类型).

Linux正统的文件系统(如ext4等)将硬盘分区时会划分出超级块、inode Table区块和data block数据区域。一个文件由一个超级块、inode和数据区域块组成。Inode包含文件的属性(如读写属性、owner等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据。

b66a27759211f5196dc59aee6749d081.png

这里将 inode与block区块用图解来说明一下,如下图所示,文件系统先格式化出inode与block的区块,假设某一个文件的属性与权限数据是放置到 inode 4号(下图较小方格内),而这个inode记录了文件数据的实际放置点为 2, 7, 13, 15 这四个 block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来! 那么数据的读取就如同下图中的箭头所指定的模样了。

3fc9fa818ac3a1997f0fcfe5d7435e33.png

这种数据存取的方法我们称为索引式文件系统(indexed allocation)。


05

挂载文件系统

linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。这里所说的“按一定方式”就是指的挂载。

将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点.

例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mount point)”,这样才可以读取这些设备。 挂载后将物理分区细节屏蔽掉,用户只有统一的逻辑概念。所有的东西都是文件。

注意:

1、挂载点必须是一个目录。

2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。

对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。

挂载时使用mount命令,其格式:mount [-参数] [设备名称] [挂载点]

其中常用的参数有:

-t 指定设备的文件系统类型(什么提到的文件类型)

-o 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有

codepage=XXX 代码页iocharset=XXX 字符集ro 以只读方式挂载rw 以读写方式挂载nouser 使一般用户无法挂载user 可以让一般用户挂载设备

06

软连接、硬链接

用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。连接有软连接和硬连接之分,软连接又叫符号连接。它们各自的特点是:

硬连接:是给文件一个副本,原文件名和连接文件名都指向相同的物理地址。目录不能有硬连接;硬连接不能跨越文件系统(不能跨越不同的分区)文件在磁盘中只有一个拷贝,节省硬盘空间;

修改其中一个,与其连接的文件同时被修改。如果删除其中任意一个其余的文件将不受影响。

由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。

符号连接(软连接):用ln -s命令建立文件的符号连接符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。

当然删除这个连接,也不会影响到源文件,但对连接文件的使用、引用都是直接调用源文件的。

具体关系可以看下图:

cfec83e4af2eb4352e0ca8a6bdac0c7c.png

从图上可以看出硬链接和软链接的区别:

1:硬链接原文件和新文件的inode编号一致。而软链接不一样。

2:对原文件删除,会导致软链接不可用,而硬链接不受影响。

3:对原文件的修改,软、硬链接文件内容也一样的修改,因为都是指向同一个文件内容的。


后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

8aa660d2cbaca0bd35b36e75068e8ed4.png

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

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

相关文章

什么是数字孪生,为什么对物联网很重要

数字孪生是物理设备的虚拟呈现,数据科学家和IT专业人员可以在开发实际项目之前使用数字孪生技术来模拟运行。数字孪生还改变了物联网、人工智能和数据分析等技术的优化方式。 什么是数字孪生? 数字孪生是指物理世界或系统的虚拟数字化呈现。数字孪生背后…

GOF设计模式之桥接模式

一、引入 现需要提供能够绘制4种不同颜色且笔画粗细有大中小3种型号的画笔。 方法一:蜡笔 我们需要准备3*412支蜡笔,也就是说必须准备12个具体的蜡笔类 方法二:毛笔 只需要准备三种型号的毛笔,外加四个颜料盒,用347…

c6x Linux 内核中断分析

1. 内核中断介绍 1.1 中断简介 所有支持Linux的平台都采用了中断(interrupt)的概念,以便(因种种原因)引入周期性的中断。需要区分两种类型的中断。 1. 硬件中断(hardware interrupt)&#xff1a…

系统建模、分析、仿真和验证软件工具ModelCodoer

在安全关键领域,基于模型的软件工程已逐渐进入了我国的装备研制过程中。使用SimuLink或者SCADE等嵌入式软件建模工具进行可视化建模,然后生成高可靠的二进制代码逐渐成为了安全关键领域的主流软件开发方式。由迪捷软件自主研发的系统建模、分析、仿真和验…

如何构建裸机hello world目标程序并在SkyEye全数字实时仿真平台上运行及调试?

SkyEye全数字实时仿真平台,简称SkyEye,是一款支持 ARM、TI DSP、PowerPC、X86、SPARC、龙芯、飞腾等多种处理器体系架构的指令级仿真平台。 SkyEye可以部署在桌面计算机上,开发人员可以基于SkyEye提供的已有模型库的组件(如处理器…

「基于模型的系统工程」的发展历程

节选自《「基于模型的系统工程」的发展历程》,因篇幅有限,完整报告文末领取。 当下,人们热衷于讨论基于计算机的建模、模型、数据库和敏捷设计方法。然而,很少有人会耐心地审视和理解大量的技术创新,这些技术创新和发…

Unity使用Rider作为默认编辑器

01.Edit -> Preferences 02.Externel Tools -> Open by file extension 如果界面选项有Rider直接选择,如果没有选择Browse) 03.选择rider64.exe 04.成功关联

同步数据流语言代码生成工具的研究进展

摘要 同步数据流语言(如Lustre,Signal)近年来在航空、高铁、核电等安全关键领域得到了广泛应用,因此与这类语言相关的开发工具本身的安全性问题受到高度关注.同步数据流语言到串行命令式语言的代码生成工具是此类工具的典型代表(如Scade)。构造代码生成工具的途径可…

一种全数字实时仿真的安全关键领域解决方案

随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通、航空航天、核电站等安全关键领域中,如何在复杂度逐年变大的同时保证其安全性和可靠性,是近年来各大公司需要研究的课题。最近比较火热的基于模型的系统工程&a…

应用在核电站DCS系统的代码自动生成工具ModelCoder

对标航空航天领域,核电新型号作为典型复杂系统在未来的发展趋势和任务变得十分明确,即正规化、标准化地应用MBSE从概念设计、初步设计、持续贯穿至详细设计、施工、调试、运维、退役的全生命周期各阶段,开发出符合核工业本身的需求&#xff0…

怎样在电脑上上传图片_电脑上回收站怎样恢复

把桌面上的文件删除,如果想再次找回,只要在电脑的回收站就可以原封不动的把文件找回来。但不小心删除了回收站的信息,怎么办呢?大家遇以这样的情况,也不要太着急,电脑上回收站怎样恢复呢?小编带分享一下解…

基于模型的系统工程设计软件ModelCoder在航空发动机控制设计中的应用

基于模型的系统工程(MBSE)使用数字模型的方式表达描述工程系统的完整生命周期中的需求和设计等活动,以无歧义、模块化等优点快速覆盖了如航空航天、船舶、卫星等相关安全关键领域。在系统工程的初期,系统产生的信息都以文档得形式…

基于模型的系统工程MBSE软件工具(ModelCoder)

我们一直致力于提供给航空航天制造商一套全数字的MBSE建模与仿真优化解决方案——基于模型的系统工程MBSE软件工具(ModelCoder)。我们的仿真验证技术可用于开发高复杂度和高保真度的模型,对飞机发动机,飞机的飞控进行预测性的虚拟…

面向航空航天工业领域的基于模型的仿真验证工具SkyEye

我们一直致力于提供给航空航天制造商一套全数字的优化方案——面向航空航天工业领域的基于模型的仿真验证工具SkyEye。我们的仿真验证技术可用于开发高复杂度和高保真度的模型,对发动机,飞机的飞控进行预测性的虚拟验证和测试。我们能够准确地进行全数字…

高性能高可靠性的全数字嵌入式仿真测试软件SkyEye

随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通、航空航天、核电站等安全关键领域中,如何在复杂度逐年变大的同时保证其安全性和可靠性,是近年来各大公司需要研究的课题。最近比较火热的基于模型的系统工程&a…

二元一次函数最值问题_初二上学期,一次函数方案设计最值问题,两类题目解题思路不一样...

方案设计问题在一元一次方程实际问题中有所接触,在一次函数实际应用题中也有。一次函数中的方案设计问题,常与一次函数的性质、不等式(组)、方程组等知识点相结合,这类题目一旦掌握解题方法,难度不是很大。本篇文章主要介绍一次函…

高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心

全数字仿真平台作为工业领域不可缺少的重要软件之一,除了可以与MATLAB或者Simulink集成外,还支持哪些优秀的功能?在了解新一代全数字仿真平台SkyEye之前,先来学习一下什么是全数字仿真平台。 什么是全数字仿真平台 全数字仿真平…

SystemC 代码添加和测试方法

1.启动流程 在 code/utils/ 下添加 new_systemc 相关代码,启动流程如下: 2.调用关系 3.地址映射 假设有两个 systemc 设备:device1 和 device2,device1 的内存地址映射区域为 0x20000x2fff,device2 的内存映射区域为 …

支持多达70余种嵌入式核心的嵌入式仿真软件SkyEye

SkyEye 介绍 SkyEye,中文全称天目全数字实时仿真软件,应用软件仿真技术,逼真地模拟出被测软件的物理环境。用图形化方式构建虚拟目标系统,有效降低了硬件工程师和软件工程师之间的沟通成本,软件工程师可以不依赖硬件工…

嵌入式仿真平台SkyEye的覆盖率分析

随着嵌入式系统也越来越复杂,功能迭代越来越多,代码中就可能就会存在部分无用代码,或者在执行过程中无法测试覆盖的分支,这可能就会给软件带来很大的漏洞,严重降低软件的可靠性。因此,需要一个能够动态分析…