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

Adr*_*n M 2 unix git binary bash shell

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

Gre*_*ill 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
Run Code Online (Sandbox Code Playgroud)