/usr并非User的缩写?Linux目录的真正身份
初次接触Linux的用户,很可能都会误以为“啊,/usr就是用户(User)文件夹啊!”但当他们尝试在此保存文件时,却往往会因权限不足而被拒绝。
开门见山地说,在现代Linux中,/usr并非“用户之家”,而是“系统的公共资源仓库”。

1. /usr:名称的误解与真实含义
在早期的Unix时代,/usr确实曾是用户主目录的所在地。然而,随着系统的发展和规模扩大,其功能被逐渐分离。如今,将/usr解释为 Unix System Resources 的缩写更为恰当。尽管它起源于user,但在功能上已不再代表用户。
-
性质: 系统运行所需的只读数据和程序的集合。
-
核心作用: 操作系统安装后,大部分新增的可执行文件、库文件和共享数据都存放于此。
2. /usr 内部一览 (核心摘要)
/usr内部的结构,仿佛整个小型Linux系统都包含其中。
| 目录 | 主要内容 | 备注 |
|---|---|---|
/usr/bin |
普通用户可执行文件 | 如 python, curl, git 等 |
/usr/sbin |
系统管理员可执行文件 | 如网络配置、守护进程管理等 |
/usr/lib |
程序运行所需库文件 | 类似于Windows的.dll文件,如.so文件 |
/usr/share |
架构无关的共享数据 | 如手册页(man)、图标、字体等 |
/usr/local |
用户自行安装的程序 | 通过源码编译等方式安装时,此目录拥有较高优先级 |
💡 提示:
/bin与/usr/bin的区别?过去,
/bin仅存放启动系统所需的最小工具集。然而,近期许多发行版(如Ubuntu, Fedora等)为了简化管理,正逐渐将/bin通过符号链接(Symbolic Link)指向/usr/bin,实现二者合一。
/sbin与/usr/sbin之间的关系亦是如此。
3. 四个易混淆目录的比较
我们将明确区分这四个最容易混淆的目录的功能。
-
/home(个人空间): 存放用户个人文档、配置文件(如~/.bashrc等)。即使重装操作系统,只要保留此目录,您的数据便安然无恙。 -
/usr(系统资源): 由包管理器(如apt, dnf等)管理的公共程序存储库。 -
/opt(外部应用): 存放不遵循包管理系统、以“独立包”形式安装的第三方应用程序,如Google Chrome或Discord。 -
/var(可变数据): 存储在系统运行过程中内容不断变化的数据,如日志文件、数据库文件等。
4. 实战指南:我的文件应该放在哪里?
根据不同情况,文件存放位置有所不同。只要遵循这些规则,您就能被称为“Linux通”。
-
个人使用的简单脚本:
~/bin(在主目录下创建bin文件夹) 或~/.local/bin -
系统范围使用的自制程序:
/usr/local/bin(一个安全的公共空间,避免与包管理器冲突) -
从外部下载的大型商业软件:
/opt/应用程序名称 -
绝不应触碰的目录:
/usr/bin(此目录由系统包管理器管理,直接放入或删除文件可能导致包管理系统混乱。)
4点总结
-
/usr不是用户(User)数据文件夹。 -
它是系统公共使用的程序和资源的仓库。
-
个人文件放在
/home,自行安装的公共应用放在/usr/local或/opt。(笔者习惯将应用镜像统一存放在/opt。) -
个人脚本可以在
~/.local/bin目录下创建并管理,这样会感觉井井有条。
现在,您对/usr目录的疑问是否有所解答了呢?作为一名Linux爱好者,我希望通过这篇文章,能让更多人对Linux有更深入的了解,并沉浸于Linux操作系统的魅力之中。