Linux的分区与文件
Linux的系统学习,我一直比较随意,最近忙于纠正二指禅,更是缺少时间来学习,不过还是希望能记录一下学习的内容。这篇文章打字比较艰难,可以说更具有挑战。
首先我们从文件系统讲起。
一、文件系统
文件系统的学习,文件系统是 Linux 操作系统中用于组织和存储文件的一种机制。它负责管理磁盘空间、文件命名、文件访问权限以及文件的存储和检索等重要任务。
文件系统到底是指文件的日志系统还是文件的manage system我们稍后会讲。
在 Linux 中,常见的文件系统类型有 ext4、XFS 等。ext4 是一种广泛使用的日志文件系统,它具有较好的兼容性和稳定性,支持较大的文件和分区大小,并且在数据完整性保护方面表现出色。XFS 则以其高效的性能而闻名,尤其适用于处理大规模数据和高并发读写操作,在大型服务器和高性能计算环境中应用较多。现在还有很多分区类型,但是我们还是在个人电脑上推荐使用extX系统,方便迁移回滚。
文件系统将磁盘划分为一个个的块(block),这些块是存储数据的基本单元。同时,为了便于管理和查找文件,文件系统还维护了一系列的数据结构,如 inode(索引节点)。每个文件都对应一个 inode,inode 中存储了文件的元数据信息,包括文件的所有者、权限、大小、创建时间、修改时间以及指向文件数据块的指针等。通过 inode,文件系统能够快速定位和访问文件的内容。
在进行磁盘分区时,我们需要考虑文件系统的选择、分区的规划。例如,通常会将系统文件、用户数据、日志文件等分别存储在不同的分区中。这样,当某个分区出现故障或空间不足时,不会影响到其他分区的正常运行,便于故障排查和数据恢复。值得关注的是/和/home的分区挂载。分区在Linux上是高于磁盘的概念,其实Linux并不是很重视磁盘这个概念,更重要的是分区。
另外,文件系统还提供了丰富的权限管理机制。Linux 中的文件权限分为读(r)、写(w)、执行(x)三种,分别针对文件的所有者(user)、所属组(group)和其他用户(others)进行设置。通过精确设置文件权限,可以有效地保护系统和用户数据的安全,防止未经授权的访问和修改。比如chnod+x就是这样一个意思。
在实际使用中,我们还会涉及到文件系统的挂载(mount)和卸载(umount)操作。挂载是将一个文件系统与一个目录关联起来,使得用户可以通过该目录访问文件系统中的文件。卸载则是解除这种关联,在进行磁盘维护、更换存储设备或安全移除存储介质时,正确的卸载操作至关重要,否则可能会导致数据丢失或文件系统损坏。这在运维中用的频繁。
二、分区的基本概念
在 Linux 系统中,分区是将物理硬盘划分成多个逻辑部分的操作。就好像把一个大房子隔成几个小房间,每个房间(分区)都有不同的用途。
- 主分区(Primary Partition)
- 主分区是硬盘分区的最基本形式。一块硬盘最多可以有 4 个主分区。主分区可以直接被操作系统识别和使用,用于安装操作系统、存储系统文件等重要用途。例如,在安装 Linux 系统时,通常会将一个主分区挂载为根目录(/),根目录下包含了系统运行所需的各种目录和文件,如 /bin(存放二进制可执行文件)(aur包很容易的后缀就是这个)、/etc(存放系统配置文件)等。
- 扩展分区(Extended Partition)
- 扩展分区是一种特殊的分区类型。它不能直接用于存储文件,主要是为了突破硬盘主分区数量的限制。一块硬盘只能有一个扩展分区,它可以包含多个逻辑分区。扩展分区就像是一个 “容器”,把多个逻辑分区装在里面。在Linux教程中常常提及这个概念,其实不重要。
- 逻辑分区(Logical Partition)
- 逻辑分区是建立在扩展分区内部的分区。其数量没有严格限制(主要受限于磁盘空间和分区格式等因素),通常用于存储用户数据、应用程序等。例如,可以将逻辑分区挂载到 /home 目录,用于存放用户的个人文件,如文档、图片、视频等。这其实大多需要空间。
分区的作用
- 提高系统安全性
- 通过将不同类型的数据存储在不同的分区,可以降低数据丢失的风险。例如,将系统文件和用户数据分开存放。如果系统分区因为软件安装错误或者病毒攻击等原因出现问题,用户数据分区可能仍然可以正常访问,便于数据恢复。
- 便于系统管理
- 合理的分区可以让系统管理员更好地组织磁盘空间。例如,对于服务器系统,可以将日志文件存储在一个单独的分区。当需要对日志进行备份或者清理时,只需要关注这个特定的分区,而不会影响到系统的其他部分。
- 优化系统性能
- 根据不同的读写需求划分分区可以提高磁盘的读写效率。比如,将频繁读写的文件(如数据库文件)放在一个独立的分区,并且该分区可以使用适合频繁读写的文件系统,这样可以减少文件系统碎片化的影响,提高系统整体性能。(mbR)
分区工具
- fdisk
- fdisk 是一个基本的磁盘分区工具,主要用于 MBR(主引导记录)分区表类型的磁盘。它提供了一个命令行界面来创建、删除、修改分区等操作。
- 例如,要查看磁盘分区信息,可以使用命令 “fdisk -l”。它会列出系统中所有磁盘的分区情况,包括分区类型、大小、起始扇区等信息。在创建分区时,通过 fdisk 的交互式命令,可以指定分区类型(主分区、扩展分区或逻辑分区)、分区大小等参数。
这几个工具常用。所以还是记忆。
- parted
- parted 是一个功能更强大的分区工具,它支持多种分区表类型,包括 GPT(GUID 分区表)和 MBR。它也有命令行界面,并且在处理大容量磁盘和复杂分区操作时更具优势。
- 例如,使用 parted 可以很方便地创建 GPT 分区表的分区。它的操作相对 fdisk 更加灵活,如可以直接指定分区的起始位置和结束位置(以字节等单位),并且可以更好地适应新型大容量硬盘的分区需求。
Arch Linux下的文件系统备份。
1.timeshift
- 这个软件非常好用,但是消耗空间比较多。
2.tar- 打包的话就简单。
3.dd - 这个不用太担心,但是要求大盘2
dd if=\dev\your old one of=\dev\"你的磁盘空间"
- 打包的话就简单。