在Ubuntu上运行可执行文件

时间:2010-09-02 08:41:42

标签: unix shell

我正在尝试在Ubuntu上运行C / C ++程序。

所以起初g++在shell中根本不起作用,所以我使用命令安装它

sudo aptitude update && sudo aptitude install g++

所以它安装了它,当我编写最简单的程序时编译

g++ -Wall a.cpp -o d

但是当我尝试执行它时,只是在命令行上写了“d”并声明找不到该命令,但是如果我在shell中键入ls它会告诉我有一个名为的可执行文件d

如果有人能为我解决问题,我很高兴

6 个答案:

答案 0 :(得分:6)

您必须使用./d(如果您在目录中)或可执行文件的完整路径。

当您键入“d”时,您的操作系统会自动进入$ PATH目录。您可以使用命令“which”找出任何可执行文件(如ls或rm)的完整路径。

如果不起作用,请检查文件是否可执行(“x”标志),如果需要,只需添加

chmod +x file

答案 1 :(得分:2)

可能是因为当前目录不在您的路径中。尝试

$ ./d

答案 2 :(得分:0)

当执行一个不在普通bin目录之一的文件时(只是把它想象成你没有从软件包安装的东西或者不是来自OS的东西)你需要提供路径到文件。

在这种情况下,您想要的是./d

答案 3 :(得分:0)

也可能是权限问题,您可能需要将文件设置为可执行文件。请参阅chmod命令。

答案 4 :(得分:0)

您需要为命令行指定文件的完整路径,以便它确切地知道它的位置。您可以使用.前缀来完成此操作,前缀是“当前目录的路径”的简写。因此,如果您与d文件位于同一目录中,则应该能够键入:

./d

这应该运行你的程序。

答案 5 :(得分:0)

我不喜欢我现在提出的解决方案,但我确实将它交给了一些习惯于AIX或Windows命令提示符的朋友(你不必使用./)并改为某些Linux风格:
- 在你的$ PATH环境变量中添加“./”(我把它放在最后,但是你可以选择它的优先级)。然后,您可以随时使用“d”。