### Linux文件系统管理知识点
#### 一、文件系统构成及命令
**文件系统构成**
Linux文件系统的构成基于一个树状结构,其中包含了多种类型的目录,每个目录都有特定的功能。
- **/usr/bin、/bin**:存放所有用户可以执行的命令。
- **/usr/sbin、/sbin**:存放只有root可以执行的命令。
- **/home**:用户缺省宿主目录。
- **/proc**:虚拟文件系统,存放当前进程信息。
- **/dev**:存放设备文件。
- **/lib**:存放系统程序运行所需的共享库。
- **/lost+found**:存放一些系统出错的检查结果。
- **/tmp**:存放临时文件。
- **/etc**:系统配置文件。
- **/var**:包含经常发生变动的文件,如邮件、日志文件、计划任务等。
- **/usr**:存放所有命令、库、手册页等。
- **/boot**:内核文件及自举程序文件保存位置。
- **/mnt**:临时文件系统的安装点。
**特殊权限:粘着位 (sticky bit)**
- **粘着位 (sticky bit) 的定义**:当权限为777的目录被授予粘着位,用户只能在此目录下删除自己是所有者的文件。
**常用命令**
- **查看分区使用情况**:`df`
- **查看文件、目录大小**:`du`
- **查看文件详细时间参数**:`stat`
- **校验文件md5值**:`md5sum`
- **检测修复文件系统**:`fsck`、`e2fsck`(单用户模式卸载文件系统后执行)
#### 二、硬盘分区及管理
**添加硬盘分区步骤**
1. **划分分区** (`fdisk`):使用`fdisk`工具来划分新的分区。
2. **创建文件系统** (`mkfs`):使用`mkfs`命令为新分区创建文件系统。
3. **尝试挂载** (`mount`):使用`mount`命令挂载新创建的分区。
4. **写入配置文件** (`/etc/fstab`):将新分区的信息写入`/etc/fstab`文件以便开机自动挂载。
**/etc/fstab挂载设置**
- `ro`:只读。
- `noexec`:可执行文件不可运行。
- `nosuid`:SetUID命令不可执行。
- `noauto`:不自动挂载。
- `acl`:启动ACL权限控制。
#### 三、磁盘配额
**磁盘配额的实现**
1. **开启分区配额功能**:编辑`/etc/fstab`文件,在挂载属性上加上标志`usrquota`或`grpquota`。
2. **建立配额数据库**:使用`quotacheck`命令在单用户模式下生成配额数据库。
3. **启动配额功能**:使用`quotaon`命令启动配额功能。
4. **编辑用户配额**:使用`edquota`命令来设置用户或用户组的配额。
5. **复制用户配额**:使用`edquota -p`命令来复制一个用户的配额到另一个用户上。
6. **查看配额使用情况**:管理员可以使用`repquota -a`命令查看所有用户的配额使用情况。
**创建配额的选项**
- **软限制 (Soft limit)**:定义用户可以占用的磁盘空间数。当用户超过该限制后会收到超过配额的警告。
- **硬限制 (Hard limit)**:当用户试图将文件存放在其已经超过该限制值目录时,报告文件系统错误。
- **宽限期 (Grace period)**:定义用户在软限制下可以使用其文件系统的期限。
#### 四、备份与恢复
**系统的潜在威胁**
- **系统硬件故障**
- **软件故障**
- **电源故障**
- **用户的误操作**
- **人为破坏**
- **缓存中的内容没有及时写入磁盘**
- **自然灾害**
**备份介质的选择**
- **硬盘**
- **光盘**
- **磁带**
- **可移动存储设备**
选择备份介质时,需要考虑可靠性、速度和介质价格之间的平衡。
**备份策略**
- **完全备份**:每隔一段时间对系统进行一次完全的备份,这样在备份时间间隔内,一旦系统发生故障使得数据丢失时,就可以用上一次的备份数据恢复到上一次备份时的情况。
- **增量备份**:首先进行一次完全备份,然后每隔一段较短的时间进行一次备份,但是仅仅备份每个短时期内更改的内容。
**备份的分类**
- **系统备份**:实现对操作系统和应用程序的备份,尽量在系统崩溃以后能快速简单完全地恢复。主要备份`/etc`、`/boot`、`/var/log`、`/usr/local`等。
- **用户备份**:实现对用户文件的备份。
通过以上介绍,我们可以了解到Linux文件系统管理的核心知识点包括文件系统的构成、常用的文件系统命令、硬盘分区管理、磁盘配额设置以及备份与恢复策略。这些知识点对于Linux系统管理员来说至关重要,能够帮助他们更好地管理和维护Linux系统。