关于Linux那些事—存储结构与磁盘划分

本文介绍了Linux系统中的文件存储结构遵循FHS标准,强调了文件和目录名称的规则。讨论了物理设备命名,特别是硬盘设备的/dev/sd命名规则及分区编号。此外,解释了XFS文件系统的特性,VFS虚拟文件系统的作用,以及如何使用fdisk、mkfs、mount、umount等命令管理磁盘。最后提到了交换分区、磁盘配额、链接文件的概念和管理。
摘要由CSDN通过智能技术生成

文件存储结构(FHS标准)
Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。另外,Linux系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目录,并且文件名称中不得包含斜杠(/)。
在这里插入图片描述
在这里插入图片描述
物理设备命名规则(udev)
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等,而且,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。
一般的硬盘设备都会是以“/dev/sd”开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配,如果超过26个硬盘,那么前26个命名sd[a-z],第27-52个命名为sd[aa-az],第53-78个命名为sd[ba-bz],依此类推)而且硬盘的分区编号也很有讲究:

存储设备的名称从a开始按序命名,是由系统内核的识别顺序决定的,与设备在第几个插槽无关。
分区编号并不代表分区个数,分区的数字编码不一定是强制顺延下来的,也有可能是手工指定的。
主分区或扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。
在这里插入图片描述
正是因为计算机有了硬盘设备,我们才可以在玩游戏的过程中或游戏通关之后随时存档,而不用每次重头开始。硬盘设备是由大量的扇区组成的,每个扇区的容量为512字节。其中第一个扇区最重要,它里面保存着主引导记录与分区表信息。就第一个扇区来讲,主引导记录需要占用446字节,分区表为64字节,结束符占用2字节;其中分区表中每记录一个分区信息就需要16字节,这样一来最多只有4个分区信息可以写到第一个扇区中,这4个分区就是4个主分区。第一个扇区中的数据信息如图所示。
在这里插入图片描述
文件系统与数据资料
**XFS:**是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB。
1.inode存放文件的权限与属性记录,每个文件占用一个独立的inode表格,该表格的大小默认为128字节,里面记录着如下信息:

该文件的访问权限(read、write、execute);
该文件的所有者与所属组(owner、group);
该文件的大小(size);
该文件的创建或内容修改时间(ctime);
该文件的最后一次访问时间(atime);
该文件的修改时间(mtime);
文件的特殊权限(SUID、SGID、SBIT);
该文件的真实数据地址(point)。
2.block存放文件的实际内容(大小可以为1KB、2KB、4KB)。
文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。
文件很大(5KB),那么会占用两个block(5KB-4KB后剩下的1KB也要占用一个block)。

VFS虚拟文件系统:
各式各样的文件系统在VFS下隐藏各自的特性和细节,用户在操作文件时就是统一对VFS进行操作,用户无需关心底层的硬盘结构。

挂载硬件设备
1.分区

fdisk命令:用于管理磁盘分区。格式:fdisk [磁盘名称]。它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。这是一条交互式命令。
常用参数:

参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

2.格式化
mkfs命令:用于格式化操作。

3.挂载与卸载
①挂载操作就是把硬件设备与目录进行关联的动作
②卸载操作就是取消硬件设备与目录关联的动作,卸载文件系统就意味不再使用硬件的设备资源
挂载 mount 设备 目录
-a:挂载所有在/etc/fstab中定义的文件系统
-t:指定文件系统的类型

卸载 umount 设备或者目录
用mount命令挂载,系统重启后就会失效。要在/etc/fstab文件追加挂载信息才能永久挂载。在/etc/fstab文件中,挂载信息格式:“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”。
挂载信息格式各字段含义:

字段 意义
设备文件 一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录 指定要挂载到的目录,需在挂载前创建好
格式类型 指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份 若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检 若为1则开机后自动进行磁盘自检,为0则不自检

df命令:用于查看挂载状态和硬盘使用量信息。常用参数为-h。格式:df -h。
du命令:用于查看文件数据占用量。格式 :du [选项] [文件]。

du -sh /* #查看在Linux系统根目录下所有一级目录分别占用的空间大小
du -sh /newFS #查看/newFS下的内容占了多少容量

添加交换分区
SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍。
2.格式化
mkswap命令:swap分区的专用格式化命令。
swapon命令:因为swap分区没有挂载点,所以需要用挂载swap分区的专用命令来对swap分区进行挂在操作。
swapoff命令:卸载swap分区设备。
磁盘容量配额
硬盘空间总有一天会被占满。针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota命令进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota命令还有软限制和硬限制的功能。
软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
软硬方式链接
在Linux系统中存在硬链接和软连接两种文件。
ln命令
ln命令用于创建链接文件,如果不带-s参数,则默认创建硬链接
参数 作用
-s 创建“符号链接”(如果不带-s参数,则默认创建硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程
echo “cao ni ma” > test.txt #创建原始测试文件test.txt
ln -s test.txt soft_link.txt #创建文件test.txt的软链接文件soft_link.txt
ln test.txt hard_link.txt #创建文件test.txt的硬链接文件hard_link.txt
rm -rf test.txt #删除源文件test.txt
cat soft_link.txt #软连接文件打不开
cat hard_link.txt #硬链接文件能正常打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值