为什么我可以在Mac OS X中查看某些Unix可执行文件而不是其他文件?

时间:2015-06-15 00:08:06

标签: git bash shell unix binary

我在Mac OS X 10.10(Yosemite)的Macbook Pro上。当我转到/usr/bin时,git作为unix可执行文件存在。当我在Sublime Text中打开它时,我得到的只是不可读的机器代码。但是,当我打开一个不同的Unix可执行文件时 - 在我的情况下,我刚写了一个shell脚本,但还有其他 - 我能够在Sublime Text中打开文件并查看脚本的内容。我检查了两个文件的权限,它们是相同的。打开一些文件时为什么会有不同的行为?

1 个答案:

答案 0 :(得分:5)

可执行文件可能是脚本(在这种情况下您可以读取文本)或二进制文件(这是ELF格式的机器代码)。你的shell脚本是一个脚本; git是ELF二进制文件。

您可以使用file命令查看更多详细信息。例如,在我最近的Linux系统上:

$ file /usr/local/bin/git
/usr/local/bin/git: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped