chmod函数:
1.原型:

#include<sys/types.h>
#include<sys/stat.h>int chmod(const char *pathname, mode_t mode);

2.功能:
  依参数mode权限来更改参数pathname指定文件的权限。
3.示例:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>    //基本系统数据类型
#include <sys/stat.h> //文件状态//argc记录了用户在运行程序的命令行中输入的参数的个数
//**argv:或者认为是*argv[]字符串指针数组,每一个元素指向一个在命令行输入的参数
//编译器将输入参数的信息放入main函数的参数列表中
//赋值过程是编译器完成的,我们只需要读出数据就可以了
int main(int argc, char **argv)
{int mode;     //权限int mode_u;   //所有者user的权限int mode_g;   //所属组group的权限int mode_o;   //其他用户other的权限char *path;//检查参数个数的合法性//若在命令行输入参数少于3个,则不合法,并给出正确输入方法的提示信息if (argc < 3){printf("%s <mode num> <target file>\n", argv[0]);//argv[0]指向输入的程序路径及名称。exit(0);  //正常运行并退出程序,0返回给操作系统}//获取命令行参数//atoi()函数:将字符串转化为int类型变量mode = atoi(argv[1]);if ((mode > 777) || (mode < 0)){printf("mode num error!\n");exit(0);}mode_u = mode / 100;mode_g = mode / 10 % 10;mode_o = mode % 10;mode = (mode_u * 8 * 8) + (mode_g * 8) + mode_o;   //八进制转换path = argv[2];//int chmod(const char * path, mode_t mode)//函数说明:chmod()会依参数mode权限来更改参数path指定文件的权限。//更改失败返回-1if (chmod(path, mode) == -1){perror("chmod error");//perror()是错误输出函数,在标准输出设备上输出一个错误信息。exit(1);  //非正常运行并退出程序。}return 0;
}

linux c chmod 更改权限函数相关推荐

  1. linux 文件权限无法更改,解决linux不能使用chmod更改权限的问题

    本人安装的是win10和ubuntu的双系统,发现在ubuntu下挂载windows硬盘不用命令chmod更改文件的权限,解决方法记录如下: 对于使用命令$ chmod 777 dirname更改不了 ...

  2. linux中chmod -r权限,unix及linux中chmod命令的十个例子

    在unix以及linux之中,chmod命令用来改变文件以及目录的权限.这是unix和linux用户所必须熟知众多基本的命令之一.在这个unix命令的教程之中,我们将会学习到如何使用chmod命令来改 ...

  3. Linux笔记(更改权限chmod,更改所有组chown,umask,隐藏权限chattr)

    一.文件或目录权限chmod rw-             r--           r--           . ---       ---     ---    -- 所有者         ...

  4. ubuntu chmod更改权限

    权限 chmod 全称 change modifiy -     rw-  rw- rwx d  rw-  rw-  r- - 第1位是'-'是文件 第1位是'd'是文件夹 拥有着权限 用户组权限 其 ...

  5. chmod 更改权限

    chmod +/- +代表增加权限,-代表减少权限 在+/- 后面可以跟上三个字符,rwx r代表可读 w代表可写 x代表可执行权限 最后加上文件名或者目录名字 例如: chmod + r aaa 给 ...

  6. java 代码 linux 执行chmod 755权限代码

    Runtime.getRuntime().exec("chmod 755 -R /opt/ftpserver"); 755: 1.第一位7,代表文件所有者拥有的权限为可读(4)+可 ...

  7. linux 可执行文件权限不够,root执行/media可执行文件权限不够,chmod修改权限无效...

    问题: 我想执行media文件夹下自己写的某个程序,但无法执行? 1. 于是我以root的身份在终端以输入指令chmod a+x 1,回车后没反应,查询该文件夹的属性,也没有改变,即修改权限无效. 2 ...

  8. linux必须root权限才能mount,root执行/media可执行文件权限不够,chmod修改权限无效...

    http://blog.csdn.net/pipisorry/article/details/39649699 问题: 我想执行media文件夹下自己写的某个程序,但无法执行? 1. 于是我以root ...

  9. linux挂载u盘出错_linux挂载U盘、移动硬盘后无法更改权限

    话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载.这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系 ...

最新文章

  1. virtualbox 启动时Kernel driver not installed (rc=-1908) 错误的解决方法
  2. 无法打开文件“python310_d.lib”
  3. 四条使用Spring BeanUtils的总结,避免各种诡异的属性拷贝问题!
  4. 深入理解SpringBoot之装配条件
  5. 关于继承构造器的调用
  6. Spring添加对缓存的支持
  7. 未发现数据源名称并且未指定默认驱动程序_看我如何发现NVIDIA GeForce Experience代码执行漏洞...
  8. postgresql9.1_gaussdb200_解析表结构
  9. 电子病历基本架构与数据标准
  10. nexus 4 android 5.0,Nexus 4可以升级Android 5.1了!
  11. C语言中指针与数组的区别,C语言 指针与数组的详解及区别
  12. spring 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明
  13. Bootloader - main system - Recovery的三角关系【转】
  14. Java虚拟机(JVM)初探
  15. MATLAB利用Copula函数进行频率分析
  16. vscode下载历史版本
  17. win7电脑怎么录屏?如何使用电脑录屏软件
  18. 香橙派 OrangPi PC 安装Lakka游戏系统及使用指南
  19. vscode 侧边栏源代码管理不见了
  20. 基于爬虫+人脸识别库实现指定人物自动采集

热门文章

  1. MySQL高可用群集------配置MMM高可用架构
  2. 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识...
  3. Java NIO系列教程(一) Java NIO 概述
  4. MySQL数据库分表分区
  5. Android学习笔记之-Android性能测试之DDMS的使用
  6. 5.MySQL Cluster(MySQL集群)
  7. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档
  8. [转]Git忽略提交规则 - .gitignore配置运维总结
  9. 深入浅出:对MySQL主从配置的一些总结
  10. 大数据催生决策新模式 未来将改变更多