当前位置: 首页 > news >正文

Linux 系统中,/usr/bin/ 和/bin/的区别?

在 Linux 系统中,/bin//usr/bin/ 都是存放可执行程序(命令)的目录,但它们在历史定位、用途、挂载策略和系统设计上有一定区别。


✅ 快速对比总结

项目/bin//usr/bin/
全称含义binary(核心二进制)user binary(用户空间二进制)
历史用途存放最基础、最关键的命令(引导相关)存放普通用户程序
依赖情况必须依赖极少,系统单独运行时也要能执行依赖 /usr 挂载,非必需启动前就能用
常见命令ls, cp, mv, cat, bashvim, gcc, git, python
挂载依赖位于根文件系统 /位于 /usr,可能是独立挂载分区
引导阶段是否可用✅ 是❌ 否,/usr 可能尚未挂载


🔍 举例说明

  • /bin/ls, /bin/cp:这些是最基础的命令,系统单用户模式下也能用

  • /usr/bin/vim, /usr/bin/gcc:这些是开发工具、编辑器,不是系统启动必须的


📜 为什么这么设计?

  • 最早设计 Unix 时 /bin/usr/bin 分开,是为了让 /bin 和必要的库文件始终可用,即使系统只挂载了根分区 /

  • /usr 分区可以在网络挂载(比如 NFS),因此开机阶段不能依赖 /usr/bin 的命令。


📌 现代 Linux 的现状(统一趋势)

现代 Linux 发行版(如 Ubuntu、Debian、Fedora)中,/bin 通常已经是 /usr/bin符号链接

ls -l /bin lrwxrwxrwx 1 root root 7 Apr 1 00:00 /bin -> usr/bin

🔁 这是 “usr merge” 项目的结果,目的是:

  • 简化文件系统结构

  • 减少路径混乱

  • 更容易管理和维护


✅ 总结一句话

/bin/ 存放系统启动必需的基础命令,/usr/bin/ 存放普通用户和应用程序的命令。现代系统中,它们可能已经合并为同一个目录,通过符号链接统一到 /usr/bin/

 在两者存在链接的情况下,数据实际存放在/bin还是/usr/bin?

在两者存在**符号链接(symlink)**的情况下,比如:

/bin -> /usr/bin

这表示:

/bin 是一个符号链接,实际的数据(程序可执行文件)是存放在 /usr/bin 目录中的。

相关文章:

  • Linux部署Sonic前后端(详细版)(腾讯云)
  • 从java到vue3:第一天
  • 高质量车牌识别数据集推荐(10k张图像)| 支持目标检测任务
  • 基于数据同步canal的使用详解
  • Transformer 中 QKV 流向全解析(含注意力机制箭头图示)
  • Spring--IOC容器的一些扩展属性
  • C++之二叉搜索树及其实现
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • 17、Rocket MQ快速实战以及核⼼概念详解
  • Vscode自定义代码快捷方式
  • MySQL-日志+事务
  • 海拔案例分享-门店业绩管理小程序
  • uniapp+vue3做小程序,获取容器高度
  • 短期项目与长期目标如何同时兼顾
  • 华为云 Flexus+DeepSeek 征文|增值税发票智能提取小工具:基于大模型的自动化信息解析实践
  • 【面板数据】上市公司投资者保护指数(2010-2023年)
  • 【达梦数据库】忘记SYSDBA密码处理方法-已适配
  • 第十六届蓝桥杯C/C++程序设计研究生组国赛 国二
  • JavaScript中的10种排序算法:从入门到精通
  • 【源码+文档+调试讲解】基于web的运动健康小程序的设计与实现y196
  • 企业网站开发韵茵/常见的网络推广方式包括
  • 网站脑图用什么做/nba最新交易消息
  • 哪个网站可以做效果图赚钱/系统优化软件推荐
  • 池州网站建设jidela/站长之家网站介绍
  • 泰安网络诈骗案件/seo优化排名工具
  • 模板网站好优化吗/满十八岁可以申请abc认证吗