# `/usr`并非User的缩写?Linux目录的真正身份 初次接触[[Linux]]的用户,很可能都会误以为“啊,`/usr`就是用户(User)文件夹啊!”但当他们尝试在此保存文件时,却往往会因权限不足而被拒绝。 开门见山地说,**在现代Linux中,`/usr`并非“用户之家”,而是“系统的公共资源仓库”。** ![Linux文件系统与usr目录概念图](/media/whitedec/blog_img/a8ec4afb63f44633bfe7d8ddc88d744b.webp) ## 1. `/usr`:名称的误解与真实含义 {#sec-b849ebed1aef} 在早期的Unix时代,`/usr`确实曾是用户主目录的所在地。然而,随着系统的发展和规模扩大,其功能被逐渐分离。如今,将`/usr`解释为 **Unix System Resources** 的缩写更为恰当。尽管它起源于`user`,但在功能上已不再代表用户。 - **性质:** 系统运行所需的只读数据和程序的集合。 - **核心作用:** 操作系统安装后,大部分新增的可执行文件、库文件和共享数据都存放于此。 --- ## 2. `/usr` 内部一览 (核心摘要) {#sec-00d9f67269a8} `/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. 四个易混淆目录的比较 {#sec-61ad2a15d2c6} 我们将明确区分这四个最容易混淆的目录的功能。 1. **`/home` (个人空间):** 存放用户个人文档、配置文件(如`~/.bashrc`等)。即使重装操作系统,只要保留此目录,您的数据便安然无恙。 2. **`/usr` (系统资源):** 由包管理器(如apt, dnf等)管理的公共程序存储库。 3. **`/opt` (外部应用):** 存放不遵循包管理系统、以“独立包”形式安装的第三方应用程序,如Google Chrome或Discord。 4. **`/var` (可变数据):** 存储在系统运行过程中内容不断变化的数据,如日志文件、数据库文件等。 --- ## 4. 实战指南:我的文件应该放在哪里? {#sec-456fc34dbec8} 根据不同情况,文件存放位置有所不同。只要遵循这些规则,您就能被称为“[[Linux]]通”。 - **个人使用的简单脚本:** `~/bin` (在主目录下创建bin文件夹) 或 `~/.local/bin` - **系统范围使用的自制程序:** `/usr/local/bin` (一个安全的公共空间,避免与包管理器冲突) - **从外部下载的大型商业软件:** `/opt/应用程序名称` - **绝不应触碰的目录:** `/usr/bin` (此目录由系统包管理器管理,直接放入或删除文件可能导致包管理系统混乱。) --- ### 4点总结 {#sec-8f4228f1608f} 1. `/usr` **不是用户(User)数据文件夹。** 2. 它是系统公共使用的**程序和资源的仓库。** 3. 个人文件放在`/home`,自行安装的公共应用放在**`/usr/local`**或`/opt`。(笔者习惯将应用镜像统一存放在`/opt`。) 4. 个人脚本可以在`~/.local/bin`目录下创建并管理,这样会感觉井井有条。 现在,您对`/usr`目录的疑问是否有所解答了呢?作为一名[[Linux]]爱好者,我希望通过这篇文章,能让更多人对Linux有更深入的了解,并沉浸于Linux操作系统的魅力之中。