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

第二节:文件系统

理论知识

  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
http://www.xdnf.cn/news/2907.html

相关文章:

  • Java基础
  • 1.6二重积分
  • 浅谈人工智能发展现状
  • Python-pandas-DataFrame取值--.loc[]、.iloc[] 具体的操作及详细语义和语法说明
  • Linux文件传输:FTP服务器配置全攻略
  • Foupk3systemX5OS系统产品设备
  • 扩散模型与正弦位置编码
  • datasets 数据处理封装后,统一处理流程以避免Dataset Map顺序依赖问题
  • 《算法吞噬幻想乡:GPT-4o引发的艺术平权运动与版权核爆》
  • 数据库Mysql学习——day7(多表查询(JOIN)进阶)
  • 软件测试深度解析:从“用户登录“看测试用例设计的艺术
  • 什么是 Web 标准?为什么它们对 SEO 和开发很重要?
  • TRex 控制台命令解析
  • 【计算机视觉】三种图像质量评价指标详解:PSNR、SSIM与SAM
  • 【MySQL数据库】表的连接
  • OpenGL学习笔记(HDR、泛光)
  • ros2_不同ROS_DOMAIN_ID环境变量之间通信
  • vuex与vuex-persistedstate 插件固化数据
  • Spring框架allow-bean-definition-overriding详细解释
  • terraform隐藏云账号ak/sk信息
  • Linux系统中的静态库和动态库
  • 《无刷空心杯电机减速机选型及行业发展趋势》
  • 解密面试高频题:加权轮询负载均衡算法 (Java 实现)
  • 量子算法调试:Grover算法搜索空间压缩过程可视化方案
  • 算法笔记.kruskal算法求最小生成树
  • 汤晓鸥:计算机视觉的开拓者与AI产业化的先行者
  • 深入理解 Spring 类型转换核心接口 ConversionService
  • emqx部署
  • 厚铜板的镀前处理差异:工艺参数与成本影响
  • C22-作业练习之最大公约数与最小公倍数