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