git - 为什么我可以在 Mac OS X 中查看某些 Unix 可执行文件,而其他的则不能?

标签 git bash shell unix binary

我使用的是运行 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/

相关文章:

git - 无法索引文件

linux - 什么是 linux 中的 rc.status 文件

linux - 保证文件夹的原子移动

python - Django 错误 : OperationalError: no such table: polls_poll

linux - 如何在 Mac shell 脚本中从 inet ip 中查找/grep 以太网接口(interface) (en)

git difftool --dir-diff : how to copy back changed files

linux - Git Bash 在 Windows 7 上显示奇怪的字符

git - 重新打开删除的 Git 分支

linux - 虽然使用 bash 脚本编辑文件有效,但最后显示错误为 "sed: can' t read "No such file or directory"

linux - 使用 Bash 读取标准输入,就好像它来自文件一样?