linuxmake后的可执行程序如何执行

linuxmake后的可执行程序如何执行,第1张

在Linux中,使用make命令编译生成的可执行文件一般位于当前目录下的bin或者build目录中,具体路径取决于makefile文件中的配置。如果make成功生成了可执行文件,可以通过以下两种方式来执行:

在终端中进入可执行文件所在的目录,直接输入可执行文件名即可执行,例如:

plaintext

Copy code

cd /path/to/executable

./executable

其中,./executable表示当前目录下的可执行文件。

2. 在终端中输入可执行文件的绝对路径来执行,例如:

plaintext

Copy code

/path/to/executable/executable

其中,/path/to/executable是可执行文件所在的绝对路径,executable是可执行文件的名称。

需要注意的是,在Linux中,可执行文件需要具有执行权限才能被执行。如果可执行文件没有执行权限,可以使用chmod命令来添加执行权限:

plaintext

Copy code

chmod +x /path/to/executable/executable

其中,+x表示添加执行权限,/path/to/executable/executable是可执行文件的绝对路径。

chmod的语法格式如下:

chmod [who] [opt] [mode] 文件/目录名

其中who表示对象,是以下字母中的一个或组合:

u:表示文件所有者

g:表示同组用户

o:表示其它用户

a:表示所有用户

opt则是代表 *** 作,可以为:

+:添加某个权限

-:取消某个权限

=:赋予给定的权限,并取消原有的权限

而mode则代表权限:

r:可读

w:可写

x:可执行

参考原文链接: https://blog.csdn.net/ksdb0468473/article/details/52150262

文件的类型不同,权限就有所不同,虽然每个文件的权限都是 777,但在创建一个文件时,并没有看到该文件的权限是777,这是由于掩码的作用使得某些权限被屏蔽。

对于每个文件,其都由不同的信息组成,如图所示,这是我们之前创建的一个名为CAT1的空文件,该文件的详细信息如下所示。

文本文件与目录文件的区别就在于第一个描述符不同,目录则以“d”为描述符。如图所示,这是之前所创建的一个名为CAT的目录,该目录的详细信息及相关介绍如下所示。

使用带有-l选项的ls命令,可从许可字符串的首字母来识别所列出每个文件的类型,以下是几个常见的标识号。

●-:一般文件(硬链接)。

● l:符号链接(软链接,可使用带有-s选项的ln命令来创建一个软链接)。

● d:目录。

● c:字符设备文件。

● p:命名管道。

● s:套接字。

● b:块设备特殊文件。

2.文件权限管理

从刚创建的CAT1文件中看到,该文件虽是cat用户创建的,但cat用户对该文件并没有可执行权限。现在要为CAT1添加可执行权(x),将这项任务交给chmod命令就可以。使用chmod命令也非常简单,如下所示,为cat用户添加对CAT1文件的可执行权。

[cat@cat ~]$ chmod u+x CAT1

通过以上 *** 作后,cat用户拥有了对CAT1文件的可执行权。当然,要添加其他权限的 *** 作也差不多,也可以使用“chmod+rwx 文件名”来授权。感兴趣的读者可以试试,这里只讲方法,可以通过这种方法来进行练习,以便更好地掌握。

如果对CAT目录下的目录同时授予可执行权,则可以使用带有-R选项的Chmod命令进行 *** 作,其格式如下:

chmod–R 目录名1/目录名2

其中目录2是目录1的子目录,即在目录1下创建目录2。

使用-R选项,可递归地授予各种权限。

接下来讲解取消某个用户(或用户组)拥有该文件的权限,使用的命令还是chmod,如下所示,取消cat用户对文件CAT1拥有的可执行权。

[cat@cat ~]$ chmod u-x CAT1

根据文件权限数值,4代表可读,2代表可写,而1则代表可执行,并且权限数值存在时以1表示,否则就用0来表示(实际上就是用二进制的方式来表示),就可以对于某个文件或目录中的权限数值计算。如图所示,计算名为CAT1文件的权限值。

若需要对该文件授予权限,也可使用“chmod 664 CAT1”的形式来为用户授权。

有时为了方便,把文件的拥有权授予其他人,可以使用chown来改变文件的拥有者,下面演示将cat用户的CAT1文件转给dog用户,先切换到root用户,然后才可以执行。由于CAT1文件在cat用户的主目录下,因此使用/home/CAT1。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7935548.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存