运行可执行文件

运行可执行文件

我已经更改了文件权限模式,但仍然无法运行任何可执行文件。

ls -li
chmod a+x file_name
./file_name
sudo ./file_name

答案1

可能阻止文件执行的情况有:

  1. 安全模块
  2. 安装选项
  3. 不同架构的二进制文件

安全模块

AppArmor 或 SELinux 之类的东西可以阻止可执行文件进入路径。我猜这会记录在系统日志中。

安装选项

确定存储二进制文件的文件系统(我使用df -T ./file_name并使用第一列)并检查mount | grep /dev/md2是否包含 noexec 选项

架构不兼容

我用ldd ts3server_linux_x86可能会回应

        not a dynamic executable

当文件与你的系统不兼容时。我的 shell 会响应

zsh: no such file or directory: ./ts3server_linux_x86

如果我尝试执行不兼容的二进制文件。同样像这个回答您可以检查file ./file_name二进制文件是在什么架构下创建的。

答案2

./file_name如果shell 中的输出为空(即没有错误消息),则表示程序执行成功。程序只是恰好没有在 stdout 或 stderr 上产生任何数据。

相关内容