如何在 ubuntu 13.04 中执行 c 程序

如何在 ubuntu 13.04 中执行 c 程序

我升级了我的 ubuntu 到 13.04 版本。升级后,我无法在终端中执行 c 程序。当我尝试执行时,它显示如下所示的错误

bash: ./cd: Permission denied

其中 cd 是我的可执行文件,它在较低版本的 ubuntu 中运行良好。

答案1

首先你必须知道什么是权限。

要了解权限,请在终端中输入以下代码。

ls -lh

或者

ls -l

然后它将显示所有文件的权限,如下所示。选择您的文件权限。

-rw-r--r--

你必须把它们分成 4 个部分。

parts:  1       2        3        4
     +--------------------------------+
     |  -  | r w -  |  r - x | - - -  |  (r: Read, w: Write, x: Executable, -: No perm)
     +--------------------------------+
perm:         ROOT     USER     GROUP    
  1. 第一部分表示文件类型。“-”表示常规。“d”表示目录,“p”表示管道等。
  2. 第二部分表示 ROOT 权限。在我的示例中,它是“rw -”。这意味着 root 具有读写权限,但没有可执行权限。
  3. 第三部分是用户权限。这里我们可以看到“r - x”。这意味着用户具有读取、执行权限,但没有写入权限。
  4. 第四部分表示组的权限。这里的组有“- - -”。所以它没有任何权限。

您收到错误“权限被拒绝”。“cd”是您的可执行文件。它需要可执行权限 (x)。

要更改文件的权限:

在你的情况下,你可能没有可执行权限。为此,请尝试下面的 caode

chmode +x <filename>      (eg: chmode +x cd   //here cd is your filename)

您还可以通过将“x”替换为“r”(读取)或“w”(写入)来分配其他权限。

再次验证使用

ls -l (or) ls -lh.

注意:如果“chmod”返回“操作不允许”之类的错误,则尝试

               sudo chmod +x <filename> (eg: sudo chmod +x cd)

有关权限的更多信息:

              man chmod

答案2

cd使用以下命令确保您的程序确实可以执行:

chmod +x cd

答案3

在我看来,您正试图在终端中执行内置命令(例如“cd”)。不要在命令前加上“./”,而是在命令行中直接使用“cd”调用。

我可能误解了您的查询,但希望这有效。否则,请按照上述涉及为文件分配可执行位的答案之一进行操作,然后尝试以这种方式运行它。

相关内容