使文件可执行只能从 GUI 进行,而不是从终端进行

使文件可执行只能从 GUI 进行,而不是从终端进行

从 GUI 中可以这样工作:打开文件属性菜单 -> 权限选项卡 -> 选中“允许将文件作为程序执行”

从终端运行chmod -x filename不执行任何操作,也不输出任何内容。

我尝试过的事情:

# 1
$ chown $USER filename
$ sudo chmod -x filename

# 2 
$ sudo chmod -x filename

# 3
$ chmod -777 filename

有任何想法吗?

提前致谢 :)

答案1

您的命令chmod -x 剥夺了执行权限。如果您想使其可执行,请尝试:

chmod +x filename

答案2

要检查您的权限,您可以cd到所需的文件夹,然后执行ls -l,它将显示权限以及文件名,如下所示:

检查右侧

这里你可以看到有一堆.cpp文件包含一些 C++ 代码,看看它们的权限-rw-r--r--,这意味着它们可以被所有人读取,但只能由所有者写入。因此

  • r:可读
  • :可写
  • X:可执行文件

  • 最后三个地方:其他权限
  • 接下来的三个位置:组权限
  • 最后四个位置:所有者权限(d意味着它是一个目录)

现在,您可以使用 来添加和删除权限chmod,其中,

  • : 所有者
  • G: 团体
  • o: 其他
  • A: 全部

例如,像您所说的那样,要为所有者添加可执行权限,您可以使用该命令chmod u+x <filemane>

笔记:在上面的命令中使用 a-而不是 a+将删除该权限,例如,为了防止其他人读取,您可以使用以下命令:chmod o-r <filename>

相关内容