首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux根文件系统各文件夹作用详解

Linux根文件系统各文件夹作用详解

作者头像
一个平凡而乐于分享的小比特
发布2026-02-02 17:20:53
发布2026-02-02 17:20:53
640
举报

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:Linux,本专栏目的在于,记录学习Linux操作系统的总结 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

在这里插入图片描述
在这里插入图片描述

Linux根文件系统各文件夹作用详解

📁 Linux目录结构全景图

代码语言:javascript
复制
/
├── bin/      (基本命令)
├── boot/     (启动文件)
├── dev/      (设备文件)
├── etc/      (配置文件)
├── home/     (用户目录)
├── lib/      (共享库)
├── media/    (可移动媒体)
├── mnt/      (临时挂载)
├── opt/      (可选软件)
├── proc/     (进程信息)
├── root/     (root用户家目录)
├── run/      (运行时数据)
├── sbin/     (系统命令)
├── srv/      (服务数据)
├── sys/      (系统信息)
├── tmp/      (临时文件)
├── usr/      (用户程序)
└── var/      (可变数据)

📊 目录功能对比表

目录

主要用途

类比现实世界

典型内容

是否可删除

/bin

基础命令

工具箱

ls, cp, rm, cat

否(系统无法启动)

/sbin

系统管理命令

专用工具

fdisk, ifconfig, reboot

/etc

配置文件

设置说明书

passwd, network.conf

/home

用户个人文件

个人房间

用户文档、设置

是(但用户数据会丢失)

/root

管理员家目录

经理办公室

root的配置文件

可(但不建议)

/dev

设备文件

设备插槽

/dev/sda1, /dev/tty

/lib

共享库文件

公共图书馆

.so文件

/proc

进程和内核信息

监控仪表盘

cpuinfo, meminfo

否(虚拟文件系统)

/tmp

临时文件

公共白板

缓存、临时下载

是(重启可能丢失)

/usr

用户程序资源

应用商店

程序、文档、库

/var

可变数据

仓库/日志室

日志、邮件、数据库

/boot

启动文件

引擎启动器

内核、grub

/opt

可选软件包

扩展应用区

第三方大型软件

是(软件会丢失)

/mnt

临时挂载点

临时停车位

外部硬盘、ISO

是(但会失去挂载点)

/media

可移动媒体

自动挂载区

U盘、光盘

🔍 详细目录解析

1. /bin 和 /usr/bin - 命令仓库
代码语言:javascript
复制
/bin/                    /usr/bin/
├── bash                 ├── python3
├── cat                  ├── gcc
├── ls                   ├── vim
├── cp                   ├── git
└── rm                   └── ssh
  • /bin: 基础生存命令(单用户模式也需要)
  • /usr/bin: 大部分用户命令
  • 场景: 系统救援时,/bin必须存在才能执行基本操作
2. /etc - 系统配置中心
代码语言:javascript
复制
/etc/
├── passwd           # 用户账户信息
├── group            # 用户组信息
├── fstab            # 文件系统挂载表
├── hosts            # 主机名映射
├── network/         # 网络配置
├── ssh/             # SSH服务器配置
└── apt/             # 包管理器配置
  • 特点: 几乎全是文本文件,可直接编辑
  • 重要文件: /etc/passwd(用户)、/etc/fstab(挂载)
3. /home 和 /root - 用户空间
代码语言:javascript
复制
/home/               /root/
├── alice/           ├── .bashrc
│   ├── Documents/   ├── .ssh/
│   ├── Downloads/   └── scripts/
│   └── .config/     
└── bob/
    ├── Music/
    └── projects/
  • /home/username: 每个用户的个人空间
  • /root: 超级用户的家目录(不在/home下是为了安全)
4. /dev, /proc, /sys - 系统接口
代码语言:javascript
复制
/dev/                 /proc/                /sys/
├── sda1              ├── 1/                ├── class/
├── tty0              │   ├── cmdline       ├── devices/
├── null              │   └── status        └── kernel/
├── zero              ├── cpuinfo
└── random            └── meminfo
  • /dev: 设备文件(硬盘、终端等)
  • /proc: 进程和系统信息(虚拟文件系统)
  • /sys: 内核和设备信息
5. /var - 变化的数据
代码语言:javascript
复制
/var/
├── log/          # 日志文件
│   ├── auth.log  # 认证日志
│   └── syslog    # 系统日志
├── cache/        # 应用程序缓存
├── lib/          # 程序状态信息
├── mail/         # 用户邮件
├── run/          # 运行时数据(PID文件等)
├── spool/        # 排队数据(打印队列等)
└── www/          # 网站文件(如果运行Web服务器)
6. /usr - 用户软件资源
代码语言:javascript
复制
/usr/
├── bin/          # 非必要命令
├── sbin/         # 非必要系统命令
├── lib/          # 库文件
├── share/        # 架构无关数据
│   ├── man/      # 手册页
│   └── doc/      # 文档
├── local/        # 本地安装软件
└── src/          # 内核源码

🎯 实际场景理解

场景1:系统启动过程
代码语言:javascript
复制
1. BIOS/UEFI → /boot/grub/ → /boot/vmlinuz* (内核)
2. 内核加载 → 挂载根文件系统 → 读取 /etc/fstab
3. 启动init/systemd → 读取 /etc/systemd/ 或 /etc/init.d/
4. 启动服务 → 日志写入 /var/log/
场景2:用户登录
代码语言:javascript
复制
1. 输入用户名密码 → /etc/passwd 验证
2. 登录成功 → 进入 /home/用户名/
3. 读取个人配置 → ~/.bashrc, ~/.profile
4. 执行命令 → 从 /bin/ 或 /usr/bin/ 查找
场景3:安装软件
代码语言:javascript
复制
# Debian/Ubuntu
sudo apt install nginx
# 文件安装到:
# 程序 → /usr/sbin/nginx
# 配置 → /etc/nginx/
# 日志 → /var/log/nginx/
# 网页 → /var/www/html/

⚠️ 重要注意事项

  1. 不要随意删除的目录:
    • /bin, /sbin, /lib, /etc - 系统无法运行
    • /boot - 无法启动
    • /dev - 无法访问硬件
  2. 定期清理的目录:
    • /tmp - 临时文件
    • /var/tmp - 长期临时文件
    • /var/log - 日志文件(使用logrotate)
  3. 权限注意事项:
    • /root - 只有root可访问
    • /home/用户 - 用户本人和root可访问
    • /tmp - 所有用户可读写

🔄 现代Linux的变化

  1. /bin, /sbin, /lib 现在通常是到 /usr 的符号链接
  2. /run - 取代了 /var/run,存储运行时数据
  3. systemd - 改变了 /etc/init.d 的启动方式

💡 记忆技巧

  • 静态的(很少变): /bin, /sbin, /boot, /etc
  • 动态的(经常变): /home, /var, /tmp
  • 虚拟的(内存中): /proc, /sys, /dev
  • 用户的: /home, /usr, /opt

🛠️ 实用命令

代码语言:javascript
复制
# 查看目录大小
du -sh /* | sort -h

# 查看磁盘使用情况
df -h

# 查找大文件
find / -type f -size +100M 2>/dev/null

# 查看目录结构
tree -L 2 /  # 显示两级目录

理解Linux目录结构是系统管理的基础,每个目录都有其特定用途,遵循文件系统层次标准(FHS),这保证了不同Linux发行版之间的一致性。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-02-02,如有侵权请联系 [email protected] 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 [email protected] 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux根文件系统各文件夹作用详解
    • 📁 Linux目录结构全景图
    • 📊 目录功能对比表
    • 🔍 详细目录解析
      • 1. /bin 和 /usr/bin - 命令仓库
      • 2. /etc - 系统配置中心
      • 3. /home 和 /root - 用户空间
      • 4. /dev, /proc, /sys - 系统接口
      • 5. /var - 变化的数据
      • 6. /usr - 用户软件资源
    • 🎯 实际场景理解
      • 场景1:系统启动过程
      • 场景2:用户登录
      • 场景3:安装软件
    • ⚠️ 重要注意事项
    • 🔄 现代Linux的变化
    • 💡 记忆技巧
    • 🛠️ 实用命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档