bin/目录是存放二进制文件的吗?

thr*_*cks 3 scripting executable directory-structure binary

我看到很多教程都说该bin目录用于存储二进制文件,这意味着该目录中的文件只有01

然而,在许多情况下,我看到的文件bin,不仅是01

例如目录django-admin.py下的xx/bin/

#!/usr/bin/env python
from django.core import management

if __name__ == "__main__":
    management.execute_from_command_line()
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 9

不,bin目录不仅仅用于存储二进制文件。它主要用于保存可执行文件。

从历史上看,之前写在各种脚本语言的脚本变得更加普遍,bin目录有主要包含二进制文件(编译或组装)非文本文件,而不是源代码。现在关于文件的主要事情bin是它们是可执行的。

可执行脚本是一个文本文件,由解释器解释。您示例中的脚本是一个 Python 脚本。当您运行它时,将使用python解释器(它是您 中某处的另一个可执行文件$PATH)来运行它。

此外,顺便说一句,文本文件与二进制文件一样,都是由 0 和 1 组成的文件。


Gil*_*il' 9

“二进制文件”是词源中的bin目录,而不是目前的意义。最初,它用于二进制文件,就像在编译程序中一样——包含可以加载到内存中并作为代码执行的机器代码的文件。但很快它就包含了任何可以执行的程序,无论这个程序是机器代码还是由其他程序解释的脚本。相反,包含不能直接执行的机器码的文件不是存储在 中/bin,而是存储在/lib(对于)中。