shell报错:bash:./xxx: 无法执行二进制文件: 可执行文件格式错误
在ubuntu下运行一个可执行文件,但是出现错误:
由于文件已经拥有可执行权限,遂考虑是不是该文件编译时的CPU指令集和我的平台不同。
于是用file
命令查看文件格式:
破案了,该文件是一个Windows下的可执行文件,具体解释如下:
-
"PE32+":表示该文件是一个32位或64位的可执行文件,使用可移植可执行文件 (Portable Executable)格式。
-
"executable":表示该文件是一个可执行文件,可以直接在计算机上运行。
-
"(console)":表示该可执行文件是一个控制台程序,即一个纯文本模式的命令行程序,没有图形用户界面。
-
"x86-64":表示该文件是使用x86-64架构编译的,即64位的架构体系。
-
"for MS Windows":表示该可执行文件适用于Microsoft Windows操作系统,无法在ubuntu或其他Linux系统中直接运行。