当前位置:首页 » 编程软件 » 编译出文件的可执行权限

编译出文件的可执行权限

发布时间: 2023-02-16 07:00:47

‘壹’ gcc编译后的文件没有可执行权限,怎么修改。

不用root终端, 改成用户的, 还有个办法就是设定一个文件夹下, 所有文件不需要权限, 当做工作空间

‘贰’ 用c语言编译出一个cgi文件,却无法执行。

首先不懂你为什么要把它编译成cgi格式的
linux中对后缀名是不感冒的
再者你的gcc命令错误
gcc
test.c
-o
test可以参考这条
或者网络gcc使用方法

‘叁’ linux怎么建一个可执行文件

1:解释型
写好脚本,保存,修改文件属性为可执行
(命令行为
chmod
+x
aaa.sh)
2:
编译型
编译,生成的文件默认具有执行权限
3:其他
只要是个文件,属性为可执行,那他就是可执行的,要么elf,要么某种脚本语言写的

‘肆’ 用windows编辑加linux编译c++碰到了文件权限问题,完全没弄明白

win的权限和linux权限是不一致的,在windows创建的文件只能有读写权限,需要执行权限的话需要在linux下chmod加权限

‘伍’ 如何修改文件权限

Linux系统中的每个和目录都有访问许可权限,用它来确定谁可以通过何种方式对文和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls-l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如: $ls-lsobsrc.tgz -rw-r--r--1rootroot483997Ju1l517:3lsobsrc.tgz 横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。 例如: -rw-r--r-- 普通文件文件主组用户其他用户 是文件sobsrc.tgz的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。 确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。 下面分别对这些命令加以介绍。 chmod命令 chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。 该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。 1.文字设定法 chmod[who][+|-|=][mode]文件名1_4 命令中各选项的含义为: 操作对象who可是下述字母中的任一个或者它们的组合: u表示“用户(user)”,即文件或目录的所有者。 g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。 o表示“其他(others)用户”。 a表示“所有(all)用户”。它是系统默认值。 操作符号可以是: +添加某个权限。 -取消某个权限。 =赋予给定权限并取消其他所有权限(如果有的话)。 设置mode所表示的权限可用下述字母的任意组合: r可读。 w可写。 x可执行。 X只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。 s在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。 t保存程序的文本到交换设备上。 u与文件属主拥有一样的权限。 g与和文件属主同组的用户拥有一样的权限。 o与其他用户拥有一样的权限。 文件名:以空格分开的要改变权限的文件列表,支持通配符。 在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmodg+r,o+rexample 使同组和其他用户对文件example有读权限。 2.数字设定法 __我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。 例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。 数字设定法的一般形式为: chmod[mode]文件名1_4 例子: (1)文字设定法: 例1:$chmoda+xsort 即设定文件sort的属性为: 文件属主(u)增加执行权限 与文件属主同组用户(g)增加执行权限 其他用户(o)增加执行权限 例2:$chmog+w,o-xtext 即设定文件text的属性为: 文件属主(u)增加写权限 与文件属主同组用户(g)增加写权限 其他用户(o)删除执行权限 例3:$chmo+sa.out 假设执行chmod后a.out的权限为(可以用ls_la.out命令来看): _rws--x--x1ininusers7192Nov414:22a.out 并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“_rw-------”,即该文件只有其属主具有读写权限。 当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。 因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。 例4:$chmoda_xmm.txt $chmod_xmm.txt $chmogo_xmm.txt 以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。 (2)数字设定法: 例1:$chmod644mm.txt $ls_l 即设定文件mm.txt的属性为: -rw-r--r--1ininusers1155Nov511:22mm.txt 文件属主(u)inin拥有读、写权限 与文件属主同组人用户(g)拥有读权限 其他人(o)拥有读权限

‘陆’ Linux 新建的文件为什么没有可执行权

1、在Linux下,新建文件一般均为文档文件,用编辑器打开即可,故不需要X权限;
2、可执行文件都是用编译器编译的, 在编译器生成可执行文件时自动增加了X权限。
2、目录默认是777,是因为目录下的文件都具备可执行权限。

‘柒’ 用苹果系统终端编写c语言之后怎么运行

若要在 Mac 的终端中编译并运行 C 源代码,你首先需要安装 Command Line Tools,里面包含有 GCC 编译器。安装方法为:

打开终端,输入 gcc。
如果你没有安装 Command Line Tools,会弹出一个窗口提示你安装,如图所示,点击安装即可。如果出现提示“clang_error: no input files”,说明你已经安装了 gcc 编译器,可以直接开始编译程序。

在终端中输入 ./可执行文件的名称 即可执行你的程序。例如,我输入

. est1

后,就可以执行程序了。如果提示你 Permission Denied,则是因为你没有赋予这个文件执行权限,需要在终端里输入

chmod u+x test //(最后参数为你的文件名,来使其可在你的账户下执行)1

如果运行时出现 Segmentation Fault,则说明你的代码里有 bug 导致程序崩溃。

‘捌’ 如何用命令行解决可执行文件的权限问题

在用命令行执行一个后台监控的可执行文件时出现了如下提示:
[root@promote 桌面]# nohup /etc/nginx_check.sh
nohup: 忽略输入并把输出追加到"nohup.out"
nohup: 无法运行命令"/etc/nginx_check.sh": 权限不够
或:
[root@promote 桌面]# nohup /etc/nginx_check.sh
nohup: ignoring input and appending output to `nohup.out'
nohup: failed to run command `/etc/nginx_check.sh': Permission denied

此问题说明在执行可执行文件nginx_check.sh时没有权限,此时的解决方法是使用命令:chmod +x /etc/nginx_check.sh次命令执行之后再执行 nohup /etc/nginx_check.sh & 此时执行结果如在下:
[root@ip-**-**-**-** tomcat6]# nohup: ignoring input and appending output to `nohup.out`
[1]+ Exit 2 nohup /etc/nginx_check.sh
[root@promote 桌面]#
此时nginx_check.sh文件已被执行成功!

‘玖’ linux c++ cout permission denied 问题

不需要用root权限,只要在你编译的用户下,有此用户执行就行。
一般提示“permission denied”二个原因:
1、编译完毕的程序确实没有可执行权限,增加执行权限chmod +x 程序名
2、如果增加了可执行权限再执行还是提示“permission denied”那就是你的程序编译是有问题。编译参数,编译及链接过程,检查你的编译参数及编译的指令,一般是缺少,或者是编译过程有问题导致。

呵呵,这种问题常遇到。

‘拾’ emacs运行编译成功的文件时显示权限不够

切换下root用户,如果是ubuntu系统,可以使用下sudo su命令。
一般来说,编译和运行使用同一个账户的话是没有权限问题的,所谓的用emacs运行程序就是emacs里跑了个shell进程,用emacs的界面显示出来。所以没权限不是emacs的问题。如果你是root用户编译的,用非root用户运行,肯定没权限。使用ls -al 查看下文件的权限。
或者你尝试下切换root用户,然后用chmod 777 修改下权限就行了。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:748
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1012
python中的init方法 发布:2025-10-20 08:17:33 浏览:718
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:878
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:774
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1127
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:351
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:229
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:911
python股票数据获取 发布:2025-10-20 07:39:44 浏览:875