插件窝 干货文章 linux中的usr是什么意思

linux中的usr是什么意思

usr 文件 系统 只读 872    来源:    2025-04-14

在 Linux 文件系统中,/usr(Unix System Resources 的缩写)是一个非常重要的目录,用于存放系统级的只读数据和用户共享资源。以下是详细解释:


1. 历史背景

  • 最初含义:在早期 Unix 系统中,/usr 是用户主目录(/home 的前身),存放用户相关文件。
  • 现代含义:随着发展,/usr 演变为存放系统级的共享、只读资源(如二进制程序、库、文档等),而用户个人文件移至 /home

2. /usr 的子目录结构

  • /usr/bin:大多数用户命令的可执行文件(如 ls, grep)。现代系统中可能与 /bin 合并(通过符号链接)。
  • /usr/sbin:系统管理员命令(如 sshd, iptables),通常需要 root 权限。
  • /usr/lib:程序所需的共享库和内核模块。
  • /usr/include:C/C++ 头文件(用于开发)。
  • /usr/share:架构无关的共享数据(如文档、字体、时区文件)。
  • /usr/local:本地安装的软件(由管理员手动安装,避免被系统升级覆盖)。
  • /usr/src:源代码(如内核源码)。

3. 关键特点

  • 共享性:多用户或多系统可通过网络共享 /usr(例如通过 NFS)。
  • 只读性:通常被挂载为只读,防止意外修改关键文件。
  • /opt 的区别/opt 用于第三方大型软件(如 Oracle),而 /usr 是系统核心资源的集中地。

4. 现代变化

  • 与根目录合并:部分 Linux 发行版(如 Fedora)将 /bin/sbin/lib 直接符号链接到 /usr 下的对应目录,简化目录结构。
  • FHS 规范:遵循 Filesystem Hierarchy Standard(FHS),定义 /usr 的标准用途。

5. 常见问题

  • 磁盘空间不足/usr 过大时可能需要清理旧内核(/usr/src)或日志(/usr/var/log)。
  • 权限问题:普通用户无法修改 /usr 下的文件(需 sudo)。

示例命令

# 查看 /usr 目录大小
du -sh /usr

# 查找 /usr/bin 中的命令
ls /usr/bin | grep "python"

# 安装软件到 /usr/local
./configure --prefix=/usr/local
make && sudo make install

如果需要进一步了解某个子目录或具体场景,可以随时补充提问!