📌 Linux 目录结构详细解析

Linux 文件系统采用 树状结构所有文件和目录都在根目录(/)下,不同于 Windows 的 C:\ D:\ 盘符


📌 1. Linux 目录结构概览

  1. /
  2. ├── bin/ # 二进制可执行文件(普通用户命令)
  3. ├── boot/ # 存放 Linux 启动引导文件
  4. ├── dev/ # 设备文件(如硬盘、USB、键盘)
  5. ├── etc/ # 配置文件
  6. ├── home/ # 普通用户的家目录
  7. ├── lib/ # 库文件(动态链接库)
  8. ├── media/ # 挂载点(U 盘、CD)
  9. ├── mnt/ # 手动挂载的目录
  10. ├── opt/ # 可选软件包
  11. ├── proc/ # 虚拟文件系统(系统进程、内核信息)
  12. ├── root/ # 超级用户(root)的家目录
  13. ├── run/ # 运行时数据(PID 文件、socket 文件)
  14. ├── sbin/ # 系统管理命令(只有 root 可用)
  15. ├── srv/ # 服务相关数据
  16. ├── sys/ # 系统信息(内核和硬件)
  17. ├── tmp/ # 临时文件(系统重启会清除)
  18. ├── usr/ # 用户软件和库文件(类似 Windows 的 Program Files)
  19. ├── bin/ # 用户可执行文件(非系统级)
  20. ├── lib/ # 共享库文件
  21. ├── local/ # 本地安装的软件
  22. ├── share/ # 共享数据
  23. └── include/ # C 语言头文件
  24. └── var/ # 变量文件(日志、缓存、邮件队列)
  25. ├── log/ # 系统日志
  26. ├── mail/ # 邮件存储
  27. ├── tmp/ # 运行时的临时文件

📌 2. 目录详细解析

🔹 /(根目录)

  • Linux 的顶级目录,所有文件和目录都在 / 下面。
  • 不能删除 /,否则整个系统都会崩溃。
  • 普通用户只能在 /home/tmp 这些目录写入,/ 目录下的文件需要 sudo 权限修改。

🔹 /bin/(基本命令)

> 存放基本可执行命令,所有用户都可以运行。

💡 常见命令

  1. ls # 列出文件
  2. cp # 复制文件
  3. mv # 移动文件
  4. rm # 删除文件
  5. cat # 查看文件内容
  6. echo # 输出字符串

🛑 注意

  • /bin 目录下的命令 系统启动时就能用,即使没有挂载 /usr 也可运行。
  • 主要存放 普通用户可执行的命令

🔹 /sbin/(系统管理命令)

> 存放管理员使用的系统管理命令(Superuser Binaries)。

💡 常见命令

  1. fdisk # 磁盘分区
  2. ifconfig # 网络配置(已被 `ip` 取代)
  3. mount # 挂载文件系统
  4. reboot # 重新启动系统
  5. shutdown # 关闭系统

🛑 区别 /bin/

  • /bin/ 里的命令普通用户也可以执行,比如 lscp
  • /sbin/ 里的命令只有 root 用户可以执行,比如 reboot

🔹 /boot/(启动引导)

> 存放系统启动相关文件,如内核、GRUB 配置等。

💡 常见文件

  1. /vmlinuz # Linux 内核
  2. /initrd.img # 启动 RAM 磁盘
  3. /grub/ # GRUB 引导程序配置

🛑 注意

  • 不要随意修改 /boot/,否则可能导致系统无法启动!

🔹 /dev/(设备文件)

> Linux 里一切皆文件,硬件设备也被当作文件存放在 /dev/ 目录下。

💡 常见设备

  1. /dev/sda # 硬盘
  2. /dev/null # 黑洞设备,丢弃所有数据
  3. /dev/random # 生成随机数
  4. /dev/tty # 终端设备

🛑 注意

  • 你可以使用 cat 命令查看设备,如:
    1. cat /dev/random
  • 但不要误操作,如:
    1. dd if=/dev/zero of=/dev/sda
    ⚠️ 这会清空整个硬盘!

🔹 /etc/(配置文件)

> 存放系统和应用程序的配置文件,相当于 Windows 的 C:\Windows\System32

💡 常见配置文件

  1. /etc/passwd # 用户账户信息
  2. /etc/shadow # 用户密码信息(加密存储)
  3. /etc/hosts # 本地 DNS 解析
  4. /etc/fstab # 开机自动挂载的文件系统
  5. /etc/ssh/sshd_config # SSH 服务器配置

🛑 建议

  • 任何改动 /etc/ 文件前,务必先备份
    1. cp /etc/fstab /etc/fstab.bak

🔹 /home/(用户家目录)

> 存放普通用户的个人文件,相当于 Windows 的 C:\Users\

💡 路径示例

  1. /home/user1 # user1 的家目录
  2. /home/user2 # user2 的家目录

💡 进入家目录

  1. cd ~

💡 列出所有用户目录

  1. ls /home/

🛑 注意

  • 普通用户只能修改自己的 /home/username 目录,无法访问其他人的家目录。
  • root 用户的家目录是 /root/,而不是 /home/root/

🔹 /var/(变量数据)

> 存放不断变化的数据,如日志、缓存、邮件等。

💡 常见子目录

  1. /var/log/ # 系统日志
  2. /var/tmp/ # 临时文件
  3. /var/www/ # Web 服务器数据
  4. /var/lib/ # 应用数据(如 MySQL 数据库)

🛑 建议

  • 查看系统日志:
    1. cat /var/log/syslog

🔹 /tmp/(临时文件)

> 存放临时文件,系统重启后会自动清空。

💡 示例

  1. cd /tmp
  2. touch mytempfile
  3. ls /tmp

🔹 /usr/(用户软件)

> 类似 Windows 的 C:\Program Files\,存放用户软件、库文件等。

💡 重要子目录

  1. /usr/bin/ # 非系统级的可执行文件
  2. /usr/sbin/ # 管理员可用的系统管理命令
  3. /usr/lib/ # 库文件
  4. /usr/share/ # 共享数据,如字体、图标

🎯 总结

目录 作用
/bin/ 基本命令(所有用户可用)
/sbin/ 系统管理命令(仅 root 可用)
/boot/ 启动文件(如 Linux 内核、GRUB)
/dev/ 设备文件(如硬盘、USB)
/etc/ 系统配置文件
/home/ 普通用户的家目录
/var/ 日志、缓存、邮件数据
/tmp/ 临时文件
/usr/ 用户软件和库

掌握 Linux 目录结构,才能更好地管理和使用 Linux! 🚀