闪存驱动器内的权限

闪存驱动器内的权限

我正在尝试编译我在闪存驱动器上编写的 C++ 程序。我现在在终端中,并且当前位于我想要编译的正确文件(在我的闪存驱动器中)内。但是,当我运行以下命令时:

$ g++ -std=c++11 -main.cpp -o main

$ ./main

我收到此错误:bash: ./main: Permission denied

通常,当我在 OS Documents 文件夹中运行这些命令时,不会出现任何问题。为什么会出现此错误?

谢谢。

答案1

chmod u+x program_name.然后执行它。

如果不起作用,请将程序从 USB 设备复制到系统上的本机卷。然后chmod u+x program_name在本地复制并执行该程序。

Unix 和类 Unix 系统通常不会执行程序,除非该程序被标记为具有执行权限。您将文件从一个系统复制到另一个系统(或安装外部卷)的方式可能已关闭执行权限(作为安全功能)。该命令chmod u+x name为拥有该文件的用户添加了执行它的权限。

该命令仅更改与文件关联的权限;它不会更改与整个卷关联的安全控制。如果卷上的安全控制干扰了执行,那么您可以重新安装卷并使用选项允许执行。但是,将文件复制到本地卷可能是一种更快捷、更简单的解决方案。

相关内容