📌 Linux 目录结构详细解析
Linux 文件系统采用 树状结构,所有文件和目录都在根目录(/
)下,不同于 Windows 的 C:\ D:\ 盘符。
📌 1. Linux 目录结构概览
/
├── bin/ # 二进制可执行文件(普通用户命令)
├── boot/ # 存放 Linux 启动引导文件
├── dev/ # 设备文件(如硬盘、USB、键盘)
├── etc/ # 配置文件
├── home/ # 普通用户的家目录
├── lib/ # 库文件(动态链接库)
├── media/ # 挂载点(U 盘、CD)
├── mnt/ # 手动挂载的目录
├── opt/ # 可选软件包
├── proc/ # 虚拟文件系统(系统进程、内核信息)
├── root/ # 超级用户(root)的家目录
├── run/ # 运行时数据(PID 文件、socket 文件)
├── sbin/ # 系统管理命令(只有 root 可用)
├── srv/ # 服务相关数据
├── sys/ # 系统信息(内核和硬件)
├── tmp/ # 临时文件(系统重启会清除)
├── usr/ # 用户软件和库文件(类似 Windows 的 Program Files)
│ ├── bin/ # 用户可执行文件(非系统级)
│ ├── lib/ # 共享库文件
│ ├── local/ # 本地安装的软件
│ ├── share/ # 共享数据
│ └── include/ # C 语言头文件
└── var/ # 变量文件(日志、缓存、邮件队列)
├── log/ # 系统日志
├── mail/ # 邮件存储
├── tmp/ # 运行时的临时文件
📌 2. 目录详细解析
🔹 /
(根目录)
- Linux 的顶级目录,所有文件和目录都在
/
下面。 - 不能删除
/
,否则整个系统都会崩溃。 - 普通用户只能在
/home
、/tmp
这些目录写入,/
目录下的文件需要sudo
权限修改。
🔹 /bin/
(基本命令)
> 存放基本可执行命令,所有用户都可以运行。
💡 常见命令
ls # 列出文件
cp # 复制文件
mv # 移动文件
rm # 删除文件
cat # 查看文件内容
echo # 输出字符串
🛑 注意:
/bin
目录下的命令 系统启动时就能用,即使没有挂载/usr
也可运行。- 主要存放 普通用户可执行的命令。
🔹 /sbin/
(系统管理命令)
> 存放管理员使用的系统管理命令(Superuser Binaries)。
💡 常见命令
fdisk # 磁盘分区
ifconfig # 网络配置(已被 `ip` 取代)
mount # 挂载文件系统
reboot # 重新启动系统
shutdown # 关闭系统
🛑 区别 /bin/
/bin/
里的命令普通用户也可以执行,比如ls
、cp
。/sbin/
里的命令只有root
用户可以执行,比如reboot
。
🔹 /boot/
(启动引导)
> 存放系统启动相关文件,如内核、GRUB 配置等。
💡 常见文件
/vmlinuz # Linux 内核
/initrd.img # 启动 RAM 磁盘
/grub/ # GRUB 引导程序配置
🛑 注意:
- 不要随意修改
/boot/
,否则可能导致系统无法启动!
🔹 /dev/
(设备文件)
> Linux 里一切皆文件,硬件设备也被当作文件存放在 /dev/
目录下。
💡 常见设备
/dev/sda # 硬盘
/dev/null # 黑洞设备,丢弃所有数据
/dev/random # 生成随机数
/dev/tty # 终端设备
🛑 注意:
- 你可以使用
cat
命令查看设备,如:cat /dev/random
- 但不要误操作,如:
⚠️ 这会清空整个硬盘!dd if=/dev/zero of=/dev/sda
🔹 /etc/
(配置文件)
> 存放系统和应用程序的配置文件,相当于 Windows 的 C:\Windows\System32
。
💡 常见配置文件
/etc/passwd # 用户账户信息
/etc/shadow # 用户密码信息(加密存储)
/etc/hosts # 本地 DNS 解析
/etc/fstab # 开机自动挂载的文件系统
/etc/ssh/sshd_config # SSH 服务器配置
🛑 建议
- 任何改动
/etc/
文件前,务必先备份:cp /etc/fstab /etc/fstab.bak
🔹 /home/
(用户家目录)
> 存放普通用户的个人文件,相当于 Windows 的 C:\Users\
。
💡 路径示例
/home/user1 # user1 的家目录
/home/user2 # user2 的家目录
💡 进入家目录
cd ~
💡 列出所有用户目录
ls /home/
🛑 注意:
- 普通用户只能修改自己的
/home/username
目录,无法访问其他人的家目录。 root
用户的家目录是/root/
,而不是/home/root/
。
🔹 /var/
(变量数据)
> 存放不断变化的数据,如日志、缓存、邮件等。
💡 常见子目录
/var/log/ # 系统日志
/var/tmp/ # 临时文件
/var/www/ # Web 服务器数据
/var/lib/ # 应用数据(如 MySQL 数据库)
🛑 建议
- 查看系统日志:
cat /var/log/syslog
🔹 /tmp/
(临时文件)
> 存放临时文件,系统重启后会自动清空。
💡 示例
cd /tmp
touch mytempfile
ls /tmp
🔹 /usr/
(用户软件)
> 类似 Windows 的 C:\Program Files\
,存放用户软件、库文件等。
💡 重要子目录
/usr/bin/ # 非系统级的可执行文件
/usr/sbin/ # 管理员可用的系统管理命令
/usr/lib/ # 库文件
/usr/share/ # 共享数据,如字体、图标
🎯 总结
目录 | 作用 |
---|---|
/bin/ |
基本命令(所有用户可用) |
/sbin/ |
系统管理命令(仅 root 可用) |
/boot/ |
启动文件(如 Linux 内核、GRUB) |
/dev/ |
设备文件(如硬盘、USB) |
/etc/ |
系统配置文件 |
/home/ |
普通用户的家目录 |
/var/ |
日志、缓存、邮件数据 |
/tmp/ |
临时文件 |
/usr/ |
用户软件和库 |
✅ 掌握 Linux 目录结构,才能更好地管理和使用 Linux! 🚀