当前位置: 首页 > 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 目录中的。

http://www.dtcms.com/a/257334.html

相关文章:

  • 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
  • VMware安装Ubuntu22.04详细教程
  • 基于协议转换的 PROFIBUS DP 与 ETHERNET/IP 在石化生产中的协同运行实践
  • Docker镜像制作
  • 从Java API调用者到架构思考:我的Elasticsearch认知升级之路
  • 【Linux篇章】线程同步与互斥2:打破多线程并发困境,开启高效程序运行新境界
  • libwebsockets编译
  • 【机器学习1】线性回归与逻辑回归
  • SQLite FTS4全文搜索实战指南:从入门到优化
  • Python Django全功能框架开发秘籍
  • 设计模式精讲 Day 11:享元模式(Flyweight Pattern)