马哥SRE课程--第一周作业-03

3、总结文件系统的基本原理和常用命令

定义:按照一定规则来组织和管理文件的一种方式。

关系:

  • 磁盘:硬件本体
  • PV:磁盘被格式化供 LVM 使用
  • VG:多个 PV 合并成的存储池
  • LV:从 VG 划分出的逻辑分区
  • 文件系统:格式化 LV 后生成
  • superblock:文件系统 “总管家”
  • inode:文件元数据、属性、指针
  • datablock:真正存文件内容
  • 文件:用户最终看到的对象

用图片表示

image

 

树形目录:

image

 

文件系统基本原理

  1. 树形目录结构
    Rocky Linux 采用统一的树形目录结构,所有文件和目录均从根目录 / 开始延伸。这种结构通过层级关系组织数据,例如 /home 存储用户文件,/etc 存放系统配置文件,/var 记录动态数据(如日志)。这种设计简化了文件管理,用户可通过绝对路径(如 /home/user/file.txt)或相对路径(如 ./file.txt)快速定位文件。

  2. 虚拟文件系统(VFS)
    VFS 是内核与物理文件系统之间的抽象层,支持多种文件系统格式(如 Ext4、XFS、Btrfs)。它通过注册机制管理物理文件系统,屏蔽底层差异,为上层应用提供统一接口。例如,用户无需关心文件存储在 Ext4 还是 XFS 分区,只需通过标准命令(如 lscp)操作即可。

  3. 文件与硬件的统一管理
    Linux 遵循“万物皆文件”理念,将硬件设备(如键盘、磁盘)、网络接口等抽象为文件。例如,硬盘设备通过 /dev/sda 访问,终端设备通过 /dev/tty1 管理。这种设计简化了系统管理,用户可通过操作文件的方式控制硬件,如使用 echo 命令向设备文件写入数据。

文件系统命令

  1. 文件与目录操作
    • ls:列出目录内容。
      • 示例:ls -l /home(显示 /home 下文件的详细信息)
      • 选项:-a(显示隐藏文件)、-h(人类可读格式)、-S(按大小排序)
    • cd:切换目录。
      • 示例:cd /var/log(进入 /var/log 目录)
      • 快捷方式:cd ~(返回用户主目录)、cd ..(返回上级目录)
    • pwd:显示当前工作目录的绝对路径。
      • 示例:pwd(输出如 /home/user
    • mkdir:创建目录。
      • 示例:mkdir -p /project/data(递归创建多级目录)
    • rm:删除文件或目录。
      • 示例:rm -rf /tmp/old(递归强制删除 /tmp/old 目录)
      • 警告:-r 和 -f 组合会直接删除目录及其内容,需谨慎使用。
    • cp:复制文件或目录。
      • 示例:cp -r /source /backup(递归复制 /source 到 /backup
    • mv:移动或重命名文件/目录。
      • 示例:mv file.txt /backup/(移动文件)、mv oldname newname(重命名)
  2. 文件内容查看与搜索
    • cat:查看文件全部内容。
      • 示例:cat /etc/passwd(显示用户账户信息)
    • head/tail:查看文件开头或结尾部分。
      • 示例:tail -f /var/log/syslog(实时追踪日志更新)
    • grep:文本搜索。
      • 示例:grep "error" /var/log/nginx/error.log(搜索包含“error”的行)
      • 选项:-i(忽略大小写)、-r(递归搜索目录)
    • find:查找文件。
      • 示例:find /home -name "*.txt"(查找 /home 下所有 .txt 文件)
  3. 文件权限与属性管理
    • chmod:修改文件权限。
      • 示例:chmod 755 script.sh(设置权限为 rwxr-xr-x
    • chown:修改文件所有者。
      • 示例:chown user:group file.txt(将文件所有者改为 user,所属组改为 group
  4. 磁盘与分区管理
    • df:查看磁盘空间使用情况。
      • 示例:df -h(以人类可读格式显示磁盘使用量)
    • fdisk:磁盘分区管理。
      • 示例:fdisk -l /dev/sda(列出 /dev/sda 的分区表)
    • mount:挂载文件系统。
      • 示例:mount /dev/sdb1 /mnt/data(将 /dev/sdb1 挂载到 /mnt/data
  5. 文件压缩与归档
    • tar:打包与解压文件。
      • 示例:tar -czvf archive.tar.gz /project(压缩 /project 目录)
      • 解压:tar -xzvf archive.tar.gz -C /backup(解压到 /backup
    • gzip/gunzip:压缩/解压单个文件。
      • 示例:gzip file.txt(压缩为 file.txt.gz
 
posted @ 2026-04-05 15:07  血与火的洗礼  阅读(21)  评论(0)    收藏  举报