sudo: ./server: 找不到命令

sudo: ./server: 找不到命令

我写了一个名为“服务器”的软件,我试图在不同的 Linux 机器上运行它。我输入的命令是:

sudo ./server

我位于包含“sever”的目录中,它告诉我找不到该命令。我见过的所有其他问题都与此状态类似,即未安装 sudo,但本计算机上安装了 sudo。如果我尝试跑步

./server

它显示“权限被拒绝”,因此它知道此目录中有一个名为“服务器”的文件。

我通常是一个 Windows 用户,所以如果我错过了一些基本的东西,请不要笑得太厉害。我缺少什么?

答案1

您被拒绝执行您的文件。如果不先使其可执行,则无法执行文件。

ls -l server

将向您展示文件的权限。您可以设置执行位

chmod +x server

然后您的代码可以运行为

./server

出现错误FATAL:kernel too old是因为您针对以下版本进行了编译glibc它比您尝试运行的内核版本新得多。使用与glibc您打算运行代码的系统相对应的版本重新编译,或者使用正确的内核在不同的系统上运行它。

顺便说一句,“服务器”对于可执行文件来说是一个非常糟糕的名称。

相关内容