Linux存放二进制文件各个目录简介

Linux存放二进制文件各个目录简介

Linux下有很多目录都存放有二进制可执行文件,列举如下

  • /bin
  • /sbin
  • /usr/bin
  • /usr/sbin
  • /usr/local/bin
  • /usr/local/sbin
  • /opt
    之前常常困惑于这些不同的目录存放的二进制文件有什么区别,直到看到StackExchange上的一篇文章/usr/bin vs /usr/local/bin on Linux算是大概有了一些了解。现将StackExchange上的内容翻译总结如下,并附了一些在自己的debian系统下测试的例子。

bin与sbin

/bin与/sbin, /usr/bin与/usr/sbin, /usr/local/bin与/usr/local/sbin的区别在于bin是binary的缩写,sbin是system binary的缩写,所以带sbin的目录存放的都是系统相关的二进制文件

/bin与/usr/bin

/bin与/usr/bin从功能上来说是可以合并的,之所以分开是因为一开始Linux系统设计的时候设计了一个比较小的/bin分区用于存放一些核心的程序,以备空间受限的设备无法安装/bin和/usr/bin中的所有程序。在debian系统的脚本语言中,shell位于/bin中(which sh),而python和perl位于/usr/bin中(which python; which perl).
/sbin与/usr/sbin同理。

/usr/bin与/usr/local/bin

/usr/bin存放通过包管理程序(如apt)安装的程序,而/usr/local/bin存放用户自己通过make从源码编译安装的程序。/usr/sbin与/usr/local/sbin同理。

/usr与/opt

opt是optional的简写,意味着/opt目录下的程序是用户附加的可选程序,通常存放一些较大的第三方软件。以我手头的C++项目为例,g++位于/usr/bin (which g++),结构化格式库protobuf位于/usr/local/bin (which protoc),腾讯开源的编译工具blade位于/opt (which blade)

关于Linux文件系统的组织可以参考维基词条:Filesystem Hierarchy Standard
更详细的内容可以参考Linux基金会关于文件系统结构的文档:Filesystem Hierarchy Standard

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值