在Arm开发板上编译好程序后直接执行是不可以的,因为没有权限,必须更改权限后才能顺利执行,如:
chmod +x hello ./hello因此涉及到chmod命令的使用,chmod 是change mode的缩写,chmod命令的语法为:
chmod [-cfvR] [--help] [--version] mode file可以看到chmod 的用法和参数是比较复杂的,先从简单的说起,看我们上面的使用方法,为了执行一个新的文件,所以用了这样一个命令
chmod +x hello这个命令的作用当然就是为了让我们有使用的权限,所以猜测这条命令就是赋予我们使用权限的那条命令。
chmod 的参数说明: 参数说明: -c : 若该文件权限确实已经更改,才显示其更改动作 -f : 若该文件权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更) –help : 显示辅助说明 –version : 显示版本
mode参数为权限设定的字串,格式如下:
[ugoa...][[+-=][rwxX]...][,...]其中: u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 +表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
可以看到+x确实为赋予hello这个文件可执行权限的参数。