一、文件系统分类

        Linux系统中颇具特色的文件存储结构常常搞得新手头昏脑涨,本章将从Linux系统中的文件存储结构开始,讲述文件系统层次标准(Filesystem Hierarchy Standard,FHS)、udev硬件命名规则以及硬盘设备的原理。Linux系统支持数十多种文件系统,而最常见的文件系统如下所示。

        Ext2:最早可追溯到1993年,是Linux系统的第一个商业级文件系统,它基本沿袭了UNIX文件系统的设计标准。但由于不包含日志读写功能,数据丢失的可能性很大,因此大家能不用就不用,或者顶多建议用于SD存储卡或U盘。

        Ext3:是一款日志文件系统,它会把整个硬盘的每个写入动作的细节都预先记录下来,然后再进行实际操作,以便在发生异常宕机后能回溯追踪到被中断的部分。Ext3能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。

        Ext4:Ext3的改进版本,作为linux系统中默认的文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block(块),从而极大地提高了读写效率。现在很多主流服务器也会使用Ext4文件系统。

二、文件系统的根(/)

三、物理设备命名规则

        在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等。Linux系统中常见的硬件设备及其文件名称如图所示。

        IDE : 老式的硬盘,SATA :目前流行的硬盘

        第一个知识点是设备名称的理解错误。比如/dev/sda表示主板上第一个插槽上的存储设备,读者在实践操作的时候会发现果然如此,因此也就对这条理论知识更加深信不疑。但真相不是这样的,/dev目录中sda设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda。大家以后在使用SCSI网络存储设备时就会发现,明明主板上第二个插槽是空着的,但系统却能识别到/dev/sdb这个设备—就是这个道理。

        第二个知识点是对分区名称的理解错误。分区的编号代表分区的个数。比如sda3表示这是设备上的第3个分区,而学员在做实验的时候确实也会得出这样的结果。但是这个理论知识是错误的,因为分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。因此sda3只能表示是编号为3的分区,而不能判断sda设备上已经存在了3个分区。

        首先,/dev/目录中保存的应当是硬件设备文件;其次,sd表示的是存储设备;然后,a表示系统中同类接口中第一个被识别到的设备;最后,5表示这个设备是一个逻辑分区。一言以蔽之,“/dev/sda5”表示的就是“这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件”。例如 :

  • 手动添加一个磁盘, 然后对磁盘分区 。
  • 关闭虚拟机 ,点击编辑虚拟机设置 。

        点击添加 ,然后点击确定。

        选择硬盘,点击下一步。

        选择SCSI,我们使用默认选项。

        选择创建新虚拟硬盘。

        磁盘容量设置为1G。立即分配所有磁盘空间。将虚拟磁盘存储位单一文件。

        磁盘命名: Ubuntu22.04-ext.vmdk ,这个磁盘是 VMware disk 。

        点击完成,即可创建虚拟磁盘,开启虚拟机 ,点击左下角开始图标,选择工具中的磁盘工具。

        点击1G的磁盘,即可看到我们新加的磁盘: /dev/sdb

四、fdisk 分区磁盘

        Linux fdisk 是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。

查看磁盘信息命令格式: fdisk -l [device...]

对磁盘进行分区格式化操作: fdisk device

五、mkfs 格式化磁盘

        mkfs命令来自于英文词组“make file system”的缩写,其功能是用于对设备进行格式化文件系统操作。在挂载使用硬盘空间前的最后一步,运维人员需要对整块硬盘或指定分区进行格式化文件系统操作,Linux系统支持的文件系统包含ext2、ext3、ext4、xfs、fat、msdos、vfat、minix等多种格式。

语法格式: mkfs [参数] 设备名

        格式化完成后,通过磁盘工具查看

六、mount 挂载与umount卸载设备

        mount命令的功能是用于把文件系统挂载到目录,文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。默认情况下Linux系统并不会像Windows系统那样自动的挂载光盘和U盘设备,需要自行完成。

挂载设备语法格式:mount [参数] [设备] [挂载点]

卸载设备语法格式:umount [挂载点]

挂载点:就是一个目录

七、fatlabel e2label 修改盘符

        e2label 命令用来设置ext2,ext3,ext4文件系统的卷标, 卷标就是盘符。fatlabel 命令用来设置fat文件系统的卷标,ntfslabel 命令用来设置ntfs文件系统的卷标

八、df 查看磁盘

        df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算,毕竟135M比138240Kb更利于阅读对吧。

语法格式: df [参数] [对象磁盘/分区]

九、du 查看文件或目录的大小

        du命令来自于英文词组“Disk Usage”的缩写,其功能是用于查看文件或目录的大小。人们经常会把df和du命令混淆,df是用于查看磁盘或分区使用情况的命令,而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。

语法格式:du [参数] 文件

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐