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与其他目录的关系

  1. /bin vs /usr/bin

    • /bin:存放启动和修复系统必需的基础命令(如bash, mount)。
    • /usr/bin:用户级应用程序,非系统核心功能依赖。
  2. /usr/local的特殊性

    • 用于手动编译安装的软件(如从源码安装的Python或Nginx),与包管理器(如aptyum)管理的软件隔离。
    • 类比Windows的Program Files,但更注重权限隔离。
  3. /opt的补充作用

    • 存放第三方预编译的大型软件(如IDE、数据库),与/usr/local形成互补。
相关推荐
奈斯ing4 分钟前
【Redis篇】数据库架构演进中Redis缓存的技术必然性—高并发场景下穿透、击穿、雪崩的体系化解决方案
运维·redis·缓存·数据库架构
鳄鱼皮坡31 分钟前
仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器
运维·服务器
即将头秃的程序媛43 分钟前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin1 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
小Mie不吃饭1 小时前
FastAPI 小白教程:从入门级到实战(源码教程)
运维·服务器
fo安方2 小时前
运维的利器–监控–zabbix–第三步:配置zabbix–中间件–Tomcat–步骤+验证
运维·中间件·zabbix
爱奥尼欧2 小时前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
戒不掉的伤怀3 小时前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
超喜欢下雨天3 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
搬码临时工3 小时前
小企业如何搭建本地私有云服务器,并设置内部网络地址提供互联网访问
运维·服务器