我在vim中写了一些代码,每当我尝试运行代码时,它显示如下:
coolmego@coolmego-PC:~/coolmego/cprograms$ gcc dfs8puzz.c
/usr/bin/ld: cannot open output file a.out: Permission denied
collect2: ld returned 1 exit status
coolmego@coolmego-PC:~/coolmego/cprograms$ ./a.out
bash: ./a.out: No such file or directory
我该怎么办?
7条答案
按热度按时间vmjh9lq91#
移动到允许写入的目录。
pokxtpni2#
这是因为如果您只有写权限,但您不是目录的所有者。
1.用户名:
1.使自己成为目录及其内容的所有者:
1.设置读/写/执行权限
参考https://askubuntu.com/questions/466605/cannot-open-output-file-permission-denied
oymdgrw73#
当你运行sudo的时候,你实际上是以root用户的身份运行命令。可能你最后把权限搞混了,这样root用户就拥有了文件。因此当你运行sudo的时候,它只是工作(root用户可以在那些目录中写)。你需要coolmego来拥有那些文件。例如:
yptwkmov4#
删除/etc/fstab中的user选项。除非在fstab中明确指定了exec,否则fstab中包含user的任何内容都会自动挂载noexec。
s2j5cfk05#
尝试对您要获取输出的目标目录授予读写权限。如果您使用的是个人系统,则可以执行“sudo chmod 777“
h43kikqp6#
我也有同样的问题,1个小时后我发现这是我的杀毒软件,我关闭了它,一切正常。
fcwjkofz7#
尝试
chmod -R 777 ~/coolmego/cprograms