我看到很多教程都说该目录是用来存放二进制文件的,也就是说该目录下的文件中bin
只有0
and 。1
但是,在许多情况下,我看到的文件bin
不仅是0
和1
.
例如目录django-admin.py
下xx/bin/
:
#!/usr/bin/env python
from django.core import management
if __name__ == "__main__":
management.execute_from_command_line()
答案1
不,bin
目录不仅仅用于存储二进制文件。是为了保存可执行文件文件,主要是。
从历史上看,在用各种脚本语言编写的脚本变得更加普遍之前,bin
目录会主要包含二进制(编译或汇编)非文本文件,而不是源代码。如今文件的主要特点bin
是它们是可执行的。
一个可执行文件脚本是一个文本文件,由解释器解释。您的示例中的脚本是 Python 脚本。当您运行它时,python
解释器(它是您的某个位置的另一个可执行文件$PATH
)将用于运行它。
另外,顺便说一句,文本文件与二进制文件一样都是由零和一组成的文件。
答案2
“二进制文件”是词源目录的bin
目录,但不是其当前目录意义。最初,它用于二进制文件,如编译的程序——包含可以加载到内存中并作为代码执行的机器代码的文件。但很快它就包含了任何可以执行的程序,无论该程序是机器代码还是由其他程序解释的脚本。相反,包含无法直接执行的机器代码的文件不会存储在 中/bin
,而是存储在/lib
(for图书馆)。
答案3
来自文件系统层次结构标准:
/bin 包含系统管理员和用户都可以使用的命令,但在没有安装其他文件系统时(例如在单用户模式下)需要这些命令。它还可能包含由脚本间接使用的命令。
简而言之,它包含基本的可执行程序。其他包含非必需程序的文件夹可以是 /usr/bin、/usr/local/bin 等。