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

本文介绍了Linux中不同目录如/bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin和/opt的作用,区分了bin与sbin的区别,以及/usr与/usr/local的区别,帮助理解程序安装位置和系统结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
————————————————
版权声明:本文为优快云博主「da_kao_la」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/da_kao_la/article/details/92431140

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值