如何在 macOS 上运行您知道是 Mach-O 64 位可执行文件的无扩展名文件?

如何在 macOS 上运行您知道是 Mach-O 64 位可执行文件的无扩展名文件?

有点奇怪的问题,但我有一个没有扩展名的特定文件。使用“file”命令检查时,它似乎是“Mach-O 64 位可执行文件 x86_64”类型的文件。由于它没有扩展名,我该如何运行它?

答案1

最多可执行文件(程序)没有扩展名;“执行”权限位用于指示允许将文件作为程序运行,并且内核将通过内容而不是文件名识别其类型。(如果已经知道文件本身就是程序,则文件扩展名查找关联程序的主要目的就变得无关紧要。)

在终端中使用chmod +x该文件,就可以通过将程序的路径指定为命令来运行该程序。(通常,相对路径就./myfile足够了,./意思是“当前目录”,但绝对路径~/Downloads/myfile也可以。)

$ cd ~/Downloads
$ chmod a+x myfile
$ ./myfile

据我所知,有关 macOS 的信息,如果文件被下载,可能还需要删除“隔离”属性——这是一个单独的主题。

答案2

./您可以在终端中运行该文件。

例如

./filename

也可能是该文件当前未标记为可执行文件。要解决此问题,您可以使用 chmod,如下所示;

chmod +x filename

相关内容