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

Linux文件系统介绍

Linux文件系统介绍

 Linux文件系统

含义:

Linux系统里面,一切皆文件,即所有的数据都以文件的方式呈现出来,而文件系统的作用就是在存储设备(硬盘、U 盘、分区)上组织、管理、存取文件的一套规则、数据结构和软件模块。

 

作用:

文件系统决定了文件在存储设备或者分区上的文件的方法和数据结构,并提供用户交互接口,从而实现文件的存储、检索、保护、压缩、加密等等功能。

 

核心功能:

1、文件与目录管理

(1)提供树形目录结构,从/根目录开始

(2)支持创建、删除、重命名、移动、复制文件/目录

(3)支持路径查找(绝对路径/相对路径)

 

2、存储空间管理

(1)把硬盘划分为block(数据块)统一管理

(2)为新文件分配空闲块

(3)删除文件后回收空间

 

3、文件命名与索引管理

(1)管理文件名与文件实际存储位置的映射

(2)每个文件都有唯一的 inode编号(类似与身份证)

 

4、权限与安全控制

(1)控制文件的读、写、执行

(2)用户/用户组的归属

(3)拥有SUID、SGID等特殊权限限制,防止用户越权访问,篡改文件系统

 

5、日志功能

(1)记录正在进行的写入操作

(2)突然断电或者死机后能快速恢复正常,避免文件系统损坏

 

6、高速缓存机制

(1)使用内存做cache/buffer,对于频繁读取的文件放到内存里面,加速访问

(2)写入文件先放缓存,提升性能

 

7、链接机制

(1)硬链接:多个文件名指向同一个inode

(2)软链接:指向另一个文件或目录的路径,可以跨文件系统

 

8、错误检测与修复

(1)自动检测坏块

(2)提供fsck工具文件系统

 

组成:

1、逻辑结构

image

 

各目录存储文件类型如下:

目录作用
/bin 基础命令目录,存放所有用户都能使用的核心命令(如 lscpmvcat)。图中箭头指向 /usr/bin,表示现代系统中 /bin 通常是 /usr/bin 的软链接。
/boot 存放系统启动相关文件:Linux 内核、initramfs、GRUB 引导程序等。
/dev 设备文件目录,Linux 一切皆文件,硬件设备(硬盘 /dev/sda、键盘、显示器等)都以文件形式存在这里。
/etc 系统配置目录,所有全局配置文件都在这(如 /etc/passwd/etc/nginx/nginx.conf)。
/home 普通用户家目录,每个用户有自己的子目录(图中 alice/bob/eve),存放个人文件、配置、数据。
/root 超级用户(root)的家目录,和普通用户分开,权限更高。
/run 系统运行时数据,存放进程 PID、锁文件等,重启后清空。
/sbin 系统管理员命令目录,存放只有 root 能执行的系统管理命令(如 shutdownfsckifconfig)。图中箭头指向 /usr/sbin,表示 /sbin 通常是 /usr/sbin 的软链接。
/tmp 临时文件目录,所有用户都可读写,系统会定期清理,重启后内容会丢失。图中还有一个箭头指向 /var/tmp,表示 /tmp/var/tmp 功能类似但生命周期不同。
/usr 二级系统目录,存放用户态的程序、库、文档等,是系统最大的目录之一。
/var 可变数据目录,存放经常变化的文件:日志、缓存、邮件、网站数据等。图中 /var/tmp 是它的子目录。

 

2、物理存储结构

(1)Block(数据块):文件实际内容存放的地方,其大小固定4KB,一个文件占若干 Block,一个 Block 只属于一个文件。

 

(2)inode(索引节点):每个文件唯一对应一个 inode, inode 存储文件的元数据(metadata),包括:文件类型(普通文件 / 目录 / 链接)、权限(rwx)、所有者、所属组、文件大小、访问 / 修改 / 改变时间、数据所在的 Block 编号、硬链接计数,最后注意:inode 不存储文件名!

 

(3)dentry(目录项):目录本身也是文件,内容是dentry 列表 ,每个 dentry 保存文件名和对应的 inode号,其是作用 把 “文件名” 和 “inode” 关联起来。

 

(4)superblock(超级块):整个文件系统的总控信息,包括文件系统类型(ext4/XFS)、总 Block 数量、总 inode 数量、空闲 Block /inode 数量、Block 大小、挂载时间、检查时间等

 

(5) block bitmap(块位图):用二进制位标记哪些 Block 已用、哪些空闲。

 

(6)inode bitmap(inode 位图):标记哪些 inode 已用、哪些空闲。

 

(7)日志区(Journal):ext4、XFS 用于记录操作日志,保证崩溃一致性。

 

常用命令

1、目录操作命令

命令全称核心作用典型用法解析
ls list 列出目录内容 ls -lh 查看当前目录文件,-l 显示详细信息,-h 人性化显示大小;-a 显示隐藏文件
cd change directory 切换目录 cd /home/alice 进入指定目录;cd .. 回到上级,cd ~ 回到用户家目录
pwd print working directory 显示当前路径 pwd 输出当前所在目录的绝对路径,避免迷路
mkdir make directory 创建目录 mkdir -p project/src -p 自动创建多层目录,不会因父目录不存在而报错
touch touch 创建空文件 / 更新时间戳 touch test.txt 文件不存在则创建空文件;存在则只更新访问 / 修改时间,不覆盖内容
cp copy 复制文件 / 目录 cp -r dir1 dir2 复制文件直接用 cp src dst;复制目录必须加 -r(递归),-a 可完整保留权限等属性
mv move 移动 / 重命名 mv old.txt new.txt 同一分区内移动几乎瞬间完成;目录无需 -r,直接 mv dir1 dir2
rm remove 删除文件 / 目录 rm -rf dir -r 递归删除目录,-f 强制删除不提示;非常危险,谨慎使用
tree tree 树形展示目录结构 tree -L 2 可视化目录层级,-L 限制显示深度,适合梳理项目结构

 

2、文件查看与内容处理命令

命令全称核心作用典型用法解析
cat concatenate 查看 / 拼接文件内容 cat -n test.txt 一次性输出全部内容,适合小文件;-n 显示行号,>> 可追加内容
head head 查看文件开头 head -20 app.log 默认显示前 10 行,-n 指定行数,适合快速预览文件
tail tail 查看文件末尾 / 实时监控 tail -f app.log 默认显示后 10 行;-f 实时跟踪新增内容,是排查日志的核心命令
less less 分页查看大文件 less large.log more 更强大,支持上下滚动、搜索(/关键词)、跳转,适合查看大日志
grep global regular expression print 搜索文件内容 grep -i "error" app.log 按关键词 / 正则匹配行并输出;-i 忽略大小写,-n 显示行号,-v 反向匹配,-r 递归搜索目录
wc word count 统计行数 / 字数 / 字节数 wc -l test.txt -l 统计行数,-w 统计单词数,-c 统计字节数

 

3、权限与属性管理命令

命令全称核心作用典型用法解析
chmod change mode 修改文件权限 chmod 755 script.sh 用数字或符号修改权限:r=4 w=2 x=1755 代表所有者可读 / 写 / 执行,组和其他用户可读 / 执行
chown change owner 修改文件所有者 / 组 chown alice:users test.txt 改变文件的用户和用户组归属,需要 root 权限
chgrp change group 修改文件所属组 chgrp staff file.txt 仅修改文件的用户组,等价于 chown :staff file.txt
lsattr/chattr list/change attributes 查看 / 修改扩展属性 chattr +i important.txt 给文件加不可修改标记(+i),防止误删,需 root 权限

 

4、磁盘与文件系统管理命令

命令全称核心作用典型用法解析
df disk free 查看磁盘挂载与空间 df -h 显示各分区总容量、已用 / 可用空间,-h 人性化单位(GB/MB)
du disk usage 查看目录 / 文件大小 du -sh * 统计目录 / 文件占用空间,-s 汇总,-h 人性化显示,适合找大文件
fdisk/parted partition manipulator 磁盘分区管理 fdisk /dev/sda 对磁盘进行分区操作,需 root 权限,操作前务必备份数据
mkfs make file system 格式化分区 mkfs.ext4 /dev/sdb1 为分区创建文件系统(ext4/xfs 等),会清空分区所有数据
mount/umount mount/unmount 挂载 / 卸载设备 mount /dev/sdb1 /mnt/data 将磁盘 / 分区挂载到目录下访问;umount 卸载,避免直接拔盘导致数据丢失
fsck file system check 检查 / 修复文件系统 fsck /dev/sda1 修复损坏的文件系统,必须在卸载状态下执行,否则会破坏数据

 

5、其他实用文件系统命令

命令核心作用典型用法解析 
find 查找文件 find /home -name "*.log" 按文件名 / 大小 / 时间等条件搜索文件,功能比 ls 强大,适合批量定位文件  
ln link 创建链接 ln -s target linkname -s 创建软链接(快捷方式);不加 -s 是硬链接,多个文件名指向同一 inode
stat status 查看文件详细元数据 stat test.txt 显示文件大小、inode 号、权限、访问 / 修改 / 改变时间等底层信息
diff difference 对比文件差异 diff file1.txt file2.txt 输出两个文件的内容差异,适合排查配置文件变更
http://www.jsqmd.com/news/563810/

相关文章:

  • 告别UnsatisfiedLinkError!OpenCV Java版环境配置的终极避坑指南(含Maven/Gradle依赖)
  • Sambert语音合成镜像快速入门:环境配置、模型加载、语音生成三步走
  • Verilog实战:从零搭建D锁存器与D触发器的5个关键步骤(附代码)
  • 【NoC片上网络 On-Chip Network】从总线到NoC:多核芯片通信架构的演进与设计权衡
  • SVN 启动模式详解
  • 2026年质量好的舒适独立弹簧床垫/湖南独立弹簧床垫/静音独立弹簧床垫/湖南静音独立弹簧床垫高口碑品牌推荐 - 品牌宣传支持者
  • Qwen-Image-2512+LoRA像素艺术行业落地:复古风APP启动页设计提效50%
  • 芯片签核的四大物理挑战:IR Drop、EM、Noise与Antenna的实战解析
  • 信捷PLC与绝对值伺服系统:485通讯读取技术详解——上电快速定位伺服绝对值位置并HSD0赋值...
  • mxbai-embed-large-v1 应用开发:从零构建智能文档检索系统
  • Qwen3-Reranker-0.6B模型微调指南:领域适配实战
  • 2026拉管施工优质厂家推荐:水泥顶管/燃气拉管/电力拉管/自来水拉管/通讯拉管/非开挖顶管公司/非开挖顶管厂家/选择指南 - 优质品牌商家
  • Go 协程池任务调度架构
  • Qwen3-ForcedAligner-0.6B企业实操:HR面试录音→结构化文本+关键问题时间标记
  • Qwen3.5-2B部署手册:Supervisor日志排查、服务重启、端口冲突解决
  • HY-MT1.5-1.8B效果展示:实测33种语言翻译质量,速度0.18秒惊艳表现
  • RMBG-2.0效果展示:360°全景图局部主体提取与球面投影适配
  • Psins实战:从零解析SINS/GPS松组合导航中的Kalman滤波器初始化与调参
  • 跨平台歌词管理效率革命:163MusicLyrics全平台解决方案
  • Wan2.2-T2V-A5B开发环境配置:IntelliJ IDEA远程调试与GPU服务器连接
  • LabVIEW布尔控件秒变七段LED数码管:手把手教你DIY数字显示器(附源码下载)
  • 2026年比较好的西安除四害/西安除四害虫控服务/西安除四害后厨消杀人气公司推荐 - 品牌宣传支持者
  • 阿里云服务器CPU突然100%?别急着杀进程,先检查这个隐藏目录(附排查命令)
  • AMD笔记本性能优化与温度控制完全指南:使用G-Helper实现CPU降压调优
  • 07. Flutter状态管理方案对比:选择最适合你的状态管理工具
  • ExpressionUtil实战指南:从基础解析到高级应用
  • Copilot 插入广告引担忧,AI 工具商业化边界受考
  • 2026布袋风管品牌推荐:新能源行业布袋风管/橡塑保温布袋风管/纤维布袋风管/纤维织物风管/阻燃布风管/体育馆专用布袋风管/选择指南 - 优质品牌商家
  • Qwen3-14B私有化效果:支持国密算法加密的API通信安全方案
  • 从声学仿真到多物理场:COMSOL工作站硬件配置的‘场景化’定制指南(附AMD EPYC/NVIDIA Quadro选型)