Appearance
文件系统
提示
来自deepseek解释
文件结构
Linux的文件系统遵循FHS(文件系统层次结构标准),你可以把它想象成一个井然有序的文件柜,不同的抽屉存放着不同类型的文件,这套标准让所有Linux发行版都保持统一。
下面是从根目录/开始的核心文件夹清单,大部分目录用ls /命令就能看到。
Linux核心目录速查表
/bin:存放最基础、最常用的命令(如ls,cp,mv等),所有用户都能用。在现代发行版中多为/usr/bin的快捷方式。/boot:存放系统启动的核心文件(如Linux内核、GRUB引导程序),绝对不能乱动,否则可能导致系统无法启动。/dev:硬件设备都被抽象成一个文件放在这里(如sda代表硬盘),体现了Linux“一切皆文件”的思想。/etc:系统的配置中心,存放系统和绝大多数软件的配置文件(如用户信息、网络配置等)。/home:普通用户的“个人空间”,每个用户的个人文件和配置都在/home/用户名 里。/root:超级管理员(root用户)专属的家目录,与普通用户目录隔离,以保证系统安全。/lib&/lib64:系统必需的“共享代码库”,/bin和/sbin下的命令依赖它们才能运行。/media&/mnt:设备挂载点,用来把U盘、光盘等“挂载”到系统中才能访问。/media通常自动挂载,/mnt多用于手动临时挂载。/opt:通常用来安装大型第三方软件或手动编译的程序,可以把它们和系统自带的程序隔离开。/proc&/sys:与内核交互的“虚拟窗口”,里面的信息是内存实时生成的,记录了CPU、内存、进程等状态。/run:存放系统启动后运行时状态的临时文件,重启后内容会清空,在内存中存放。/sbin:存放系统管理员进行系统维护的专用命令(如fsck,reboot等),普通用户一般用不到。现代发行版中多指向/usr/sbin。/srv:用来存放本机提供的服务数据,比如搭建的网站文件可以放这里。/tmp:存放所有用户产生的临时文件,系统重启时通常会清空这个目录。/usr:存放大部分用户级的应用程序、库文件和文档,被称为“Unix Software Resource”,体积通常最大。/var:存放系统运行中会产生变化的文件,比如各种日志文件(/var/log)、缓存等。
提示
根目录空间:务必保持根目录 / 有足够的磁盘空间,如果被占满,系统可能会出现无法启动、服务崩溃等严重异常。
现代发行版的变化:在 Ubuntu, Debian, CentOS 等较新版本中,/bin, /sbin, /lib* 已合并为指向 /usr 下对应目录的软链接。
FHS是约定:FHS并非强制标准,不同发行版可能在极少数细节上略有差异,但核心结构基本统一。
目录名称来源
这些目录名称大多源自 Unix 早期的命名习惯,很多是英文单词的缩写或简化。下面按目录逐个说明:
核心目录全称与由来
| 目录 | 全称 / 缩写来源 | 含义与备注 |
|---|---|---|
| /bin | Binaries | 存放二进制可执行程序(命令)。 |
| /boot | Boot | 启动引导相关文件,无缩写。 |
| /dev | Devices | 设备文件。 |
| /etc | Et Cetera | 原意是“其他/杂项”,早期用来放不属于其他目录的配置文件。现在流传的“Editable Text Configuration”是后人附会的解释,非原意。 |
| /home | Home | 用户的家目录,无缩写。 |
| /root | Root | 超级用户的名称即为 root,家目录直接同名。 |
| /lib | Libraries | 库文件。 |
| /mnt | Mount | 临时挂载点。 |
| /opt | Optional | 可选/第三方软件包。 |
| /proc | Processes | 进程信息伪文件系统。 |
| /run | Runtime | 运行时变量数据。 |
| /sbin | System Binaries | 系统管理专用二进制文件。 |
| /srv | Services | 服务数据目录。 |
| /tmp | Temporary | 临时文件。 |
| /usr | Unix System Resources | 历史上是 User 的缩写(早期存放用户文件),后来演变为现在的含义,因为内容不再属于特定用户。 |
| /var | Variable | 可变数据(会增长变化的数据)。 |
几个容易误解的目录
/sys:全称 System,但更准确说是 sysfs 文件系统的挂载点,对应内核设备模型。/lost+found:非缩写。磁盘修复后找回的碎片文件暂存处。/selinux:Security-Enhanced Linux 的策略配置挂载点。