linux种文件名usr的含义是什么?
在Linux操作系统中,/usr目录是一个核心且容易引发困惑的概念。它既承载着历史演变的痕迹,又在现代系统中承担着关键功能。本文将从定义、结构、历史演变及常见问题等角度,全面解析usr的含义及其在Linux中的作用。
一、usr的起源与定义
1. 词源争议
- 早期含义:
usr最初是User的缩写,用于存放用户主目录(类似于现代的/home)。例如,用户john的目录路径曾为/usr/john。 - 现代定义:随着系统发展,
/usr被重新诠释为Unix System Resources(Unix系统资源)或User Shareable Read-only(用户共享只读资源),其核心功能转向存储系统级软件和共享资源。
2. 历史演变
- 在Unix早期版本中,
/usr是用户主目录的默认位置。由于存储设备容量限制,新增硬盘挂载到/usr下存放非核心程序。 - 随着用户规模扩大,
/home目录独立出来专门存放用户数据,而/usr逐渐成为系统软件资源的集中地。
二、/usr目录的结构与核心功能
/usr采用模块化设计,包含多个子目录,每个子目录承担特定职责:
| 子目录 | 作用 |
|---|---|
/usr/bin | 存放用户级可执行文件(如ls, cp),非系统启动必需。 |
/usr/sbin | 系统管理员工具(如useradd, dhcpcd),需root权限执行。 |
/usr/lib | 共享库文件(如.so文件),支持应用程序运行。 |
/usr/include | C/C++头文件,供开发时引用函数和数据结构。 |
/usr/share | 架构无关的共享数据(文档、字体、图标等)。 |
/usr/local | 本地安装软件的默认目录,避免与系统包管理器冲突。 |
/usr/src | 存放内核或第三方软件的源代码(部分发行版可能不强制使用)。 |
特点:
- 只读性:多数内容为只读,确保系统稳定性。
- 独立性:常挂载为独立分区,便于备份和恢复。
三、/usr与其他目录的关系
-
/binvs/usr/bin/bin:存放启动和修复系统必需的基础命令(如bash,mount)。/usr/bin:用户级应用程序,非系统核心功能依赖。
-
/usr/local的特殊性- 用于手动编译安装的软件(如从源码安装的Python或Nginx),与包管理器(如
apt或yum)管理的软件隔离。 - 类比Windows的
Program Files,但更注重权限隔离。
- 用于手动编译安装的软件(如从源码安装的Python或Nginx),与包管理器(如
-
/opt的补充作用- 存放第三方预编译的大型软件(如IDE、数据库),与
/usr/local形成互补。
- 存放第三方预编译的大型软件(如IDE、数据库),与
