我使用的是运行 Mac OS X 10.10 (Yosemite) 的 Macbook Pro。当我转到 /usr/bin
时,git
是一个 unix 可执行文件。当我在 Sublime Text 中打开它时,我得到的只是不可读的机器代码。然而,当我打开一个不同的 Unix 可执行文件时——在我的例子中,是我刚刚编写的 shell 脚本,但还有其他的——我能够在 Sublime Text 中打开该文件并查看脚本的内容。我已经检查了两个文件的权限,它们是相同的。为什么打开某些文件时会有不同的行为?
最佳答案
可执行文件可以是脚本(在这种情况下您可以阅读文本)或二进制文件(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
关于git - 为什么我可以在 Mac OS X 中查看某些 Unix 可执行文件,而其他的则不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835829/