/usr 目录的由来与演变
在 Unix 和 Linux 系统中,/usr 目录是一个重要的系统目录,但很多人对它的来历和用途存在误解。今天就让我们一起来了解一下 /usr 目录的前世今生,以及整个系统目录结构的演变历史。
/usr 的起源
早在 20 世纪 70 年代,当时的 Unix 系统还在使用小容量的磁盘。随着系统二进制文件数量和大小的增长,开发人员不得不将它们拆分到多个存储媒体中。于是他们创建了 /usr 这个新的挂载点,将一些不太常用的二进制文件和库文件放在这里。
有趣的是,/usr 最初其实是 "user" 的缩写,因为它曾经是用户的主目录所在之处。但随着时间的推移,/usr 逐渐演变成了存放系统相关文件的地方,而用户主目录则被移到了 /home 下。
/usr 的现代含义
如今,/usr 目录已经成为存放系统范围内只读文件的主要位置。它包含了由操作系统安装或提供的大部分程序和数据文件。
/usr 下有许多子目录,比如:
- /usr/bin: 存放用户命令
- /usr/lib: 存放程序库文件
- /usr/share: 存放架构无关的数据文件
- /usr/include: 存放C语言头文件
系统目录结构的演变
随着时间推移,Unix 和 Linux 系统的目录结构也在不断发展:
- /bin 和 /lib 最初用于存放启动系统所需的基本命令和库文件。
- /usr/bin 和 /usr/lib 则用于存放其他可执行文件和库文件。
- /sbin 用于存放系统管理命令。
- /usr/local 被创建用来存放本地管理员安装的软件。
- /opt 则用于存放独立的第三方软件包。
近年来,一些现代 Linux 发行版(如 Ubuntu)开始将 /bin、/sbin 和 /lib 目录合并到 /usr 中。例如,从 Ubuntu 19.04 开始,这些目录变成了指向 /usr 对应目录的符号链接。到了 Ubuntu 20.04,它们甚至不再存在。
软件安装目录的选择
对于系统管理员和普通用户来说,了解不同目录的用途对于正确安装和管理软件非常重要。以下是一些常见的软件安装位置:
- /opt: 用于安装独立的、自包含的软件包,适合所有用户使用。
- ~/.local/opt: 类似于 /opt,但只为当前用户安装。
- /usr/local: 适合安装由本地管理员编译的、文件分散在多个目录的软件。
- ~/.local: 类似于 /usr/local,但只为当前用户安装。
- /usr: 用于操作系统自带的软件或通过包管理器安装的软件。
结语
了解 Unix 和 Linux 系统的目录结构及其历史演变,不仅能帮助我们更好地理解和使用这些操作系统,还能在软件安装和系统管理方面做出更明智的决策。虽然现代系统在不断简化和统一目录结构,但了解这些历史渊源仍然很有价值。