当前位置: 首页 > news >正文

第二节:文件系统

理论知识

  1. 文件系统的基本概念:文件系统是操作系统中负责管理持久数据的子系统,它将数据组织成文件和目录的形式,方便用户存储和访问数据。
  2. Linux文件系统的类型:常见的 Linux 文件系统类型有 Ext2、Ext3、Ext4、XFS、Btrfs 等。Ext4 是目前使用最广泛的文件系统,它具有高性能、可靠性和扩展性等优点。XFS 则在大文件和高并发场景下表现出色。
  3. 文件系统的挂载:在 Linux 系统中,文件系统需要挂载到某个目录才能使用。挂载点是一个目录,文件系统会被挂载到该目录下。例如,将一个硬盘分区挂载到 /mnt 目录:
sudo mount /dev/sdb1 /mnt
  1. 文件系统的卸载:使用 umount 命令可以卸载一个挂载的文件系统。例如,卸载 /mnt 目录下的文件系统:
sudo umount /mnt
  1. 文件系统的格式化:在使用一个新的硬盘分区之前,需要对其进行格式化。使用 mkfs 命令可以格式化一个分区。例如,将 /dev/sdb1 分区格式化为 Ext4 文件系统:
sudo mkfs.ext4 /dev/sdb1
  1. 文件系统的inode:inode 是文件系统中用于存储文件元信息的数据结构,每个文件都有一个唯一的 inode 编号。inode 包含了文件的大小、权限、创建时间、修改时间等信息。
  2. 文件系统的块和扇区:磁盘的最小读写单位是扇区,通常为 512 字节。文件系统将多个扇区组合成一个块,块是文件系统的基本读写单位。常见的块大小有 4KB、8KB 等。
  3. 文件系统的目录结构:Linux 文件系统采用树形目录结构,根目录为 /。所有的文件和目录都位于根目录下或其子目录中。常见的目录有 /bin(存放系统命令)、/etc(存放系统配置文件)、/home(存放用户主目录)等。
  4. 文件系统的软链接和硬链接:软链接是一个指向另一个文件或目录的特殊文件,它类似于 Windows 系统中的快捷方式。硬链接则是多个文件名指向同一个 inode,它们共享同一个文件数据。
  5. 文件系统的权限管理:文件系统的权限分为读(r)、写(w)、执行(x)三种,分别对应不同的操作权限。权限可以针对文件所有者、所属组和其他用户进行设置。
  6. 文件系统的配额管理:配额管理可以限制用户或组对文件系统的使用空间。通过设置配额,可以防止用户滥用系统资源。
  7. 文件系统的备份和恢复:定期对文件系统进行备份是非常重要的,可以防止数据丢失。常见的备份工具包括 tarrsync 等。

实践案例

  1. 查看文件的inode编号:使用 ls -i 命令可以查看文件的 inode 编号。例如:
ls -i test.txt
  1. 创建一个软链接:使用 ln -s 命令可以创建一个软链接。例如,创建一个指向 test.txt 文件的软链接 test_link
ln -s test.txt test_link
  1. 创建一个硬链接:使用 ln 命令可以创建一个硬链接。例如,创建一个指向 test.txt 文件的硬链接 test_hard_link
ln test.txt test_hard_link
  1. 查看文件系统的挂载情况:使用 df -h 命令可以查看文件系统的挂载情况。例如:
df -h
  1. 挂载一个新的文件系统:假设 /dev/sdb1 是一个新的硬盘分区,将其挂载到 /mnt 目录:
sudo mount /dev/sdb1 /mnt
  1. 卸载一个挂载的文件系统:卸载 /mnt 目录下的文件系统:
sudo umount /mnt
  1. 格式化一个硬盘分区:将 /dev/sdb1 分区格式化为 Ext4 文件系统:
sudo mkfs.ext4 /dev/sdb1
  1. 修改文件的权限:使用 chmod 命令可以修改文件的权限。例如,将 test.txt 文件的所有者添加执行权限:
chmod u+x test.txt
  1. 修改文件的所有者和所属组:使用 chown 命令可以修改文件的所有者和所属组。例如,将 test.txt 文件的所有者改为 testuser,所属组改为 testgroup
sudo chown testuser:testgroup test.txt
  1. 设置文件系统的配额:使用 quota 命令可以设置文件系统的配额。例如,为用户 testuser 设置 /home 目录的磁盘配额为 100MB:
sudo edquota -u testuser

在打开的文件中设置配额信息,保存并退出。
11. 备份一个目录:使用 tar 命令可以备份一个目录。例如,将 /home/testuser 目录备份到 /backup 目录:

sudo tar -cvzf /backup/testuser_backup.tar.gz /home/testuser
  1. 恢复一个备份文件:使用 tar 命令可以恢复一个备份文件。例如,将 /backup/testuser_backup.tar.gz 备份文件恢复到 /home/testuser 目录:
sudo tar -xvzf /backup/testuser_backup.tar.gz -C /home

相关文章:

  • OpenCV VC编译版本
  • 《数据结构之美--二叉树》
  • 使用OpenCV和dlib库进行人脸关键点定位
  • TDR阻抗会爬坡? 别担心,不是你的错,你只是不够了解TDR!
  • opendds的配置
  • WebRtc08:WebRtc信令服务器实现
  • 牟乃夏《ArcGIS Engine 地理信息系统开发教程》学习笔记 4-空间分析与高级功能开发
  • 在单片机编程中充分使用抽象工厂模式,确保对象创建的限制,多使用抽象接口避免多变具体实现类
  • 算法笔记.染色法判断二分图
  • Python爬虫(9)Python数据存储实战:基于pymysql的MySQL数据库操作详解
  • Unity C#入门到实战: 启动你的第一个2D游戏项目(平台跳跃/俯视角射击) - 规划与核心玩法实现 (Day 40)
  • 【Java面试题03】Java并发编程经典面试题
  • 如何在idea中写spark程序
  • SQL Server 存储过程开发规范
  • 模电——PN结
  • ExoPlayer 中的 Timeline、Period 和 Window
  • 搭建spark yarn 模式的集群集群
  • 软链接与硬链接
  • Linux系统编程---exec簇:进程的加载与替换
  • 空间计算:开启人机交互新纪元的下一代技术范式
  • 对话|贝聿铭设计的不只是建筑,更是生活空间
  • 幸福航空五一前三天航班取消:客服称目前是锁舱状态,无法确认何时恢复
  • 上海出台灵活就业人员公积金新政:不限户籍、提取自由,6月起施行
  • 美大学建“私人联盟”对抗政府:学校已存在300年,特朗普才上任3个月
  • AI应用大盘点:谁暴涨?谁掉队?
  • 媒体:每一个“被偷走的人生”,都该得到公道和正义