linux C IO 小结1

缺乏、安全感 2022-08-04 16:40 302阅读 0赞
  1. linux C I/O (文件操作1

文件主要包含两个方面的内容:

  1. 1.文件本身所包含的数据
  2. 2.文件的属性(日期,权限,访问者,所有者。。。)

其中一个非常有用的数据结构在中,这里包含了所有关于文件信息的东西

  1. 目录也是一种文件,叫目录文件。
  2. linux下的一些目录:
  3. /bin:存放一些普通用户可以执行的命令
  4. /boot :内核以及启动的文件‘
  5. /dev:设备文件
  6. /etc : 配置文件
  7. /home: 用户家目录,存放用户的文件
  8. /lib : 各种库文件
  9. /root : 超级用户
  10. /sbin : 管理系统的命令
  11. /tmp : 临时文件目录
  12. /usr : 系统应用程序
  13. /var : 日志文件

文件的分类为:

  1. 普通文件,目录文件,特殊字符文件,块特殊文件,FIFO,套结字,符号链接

访问权限:

  1. 读,写,执行, 4+2+1 = 7

chmod 600 ××× (只有所有者有读和写的权限)

chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)

chmod 700 ××× (只有所有者有读和写以及执行的权限)

chmod 666 ××× (每个人都有读和写的权限)

chmod 777 ××× (每个人都有读和写以及执行的权限)

下面贴上chmod 的简单实现

  1. #include<stdio.h>
  2. #include<stdlib.h> //包含exit()返回函数
  3. #include<sys/types.h> //包含chmod,fchmod函数
  4. #include<sys/stat.h> //包含所有文件属性相关信息
  5. int main(int argc,char **argv)
  6. {
  7. int mode; //记录权限值
  8. int mode_u; //记录所有者权限
  9. int mode_g; //记录组的权限
  10. int mode_o; //记录其他人的权限
  11. char *path; //记录文件路径
  12. if(argc < 3){
  13. printf("please enter ture number:");
  14. exit(0);
  15. }
  16. mode = atoi(argv[1]); //将文件的个个权限分离,且在最后转换成八进制(系统可以接受的形式)
  17. if(mode > 777 || mode < 0){
  18. printf("please enter a ture power:");
  19. exit(1);
  20. }
  21. mode_u = mode/100;
  22. mode_g = (mode-(mode_u*100))/10;
  23. mode_o = mode - (mode_u*100)-(mode_g*10);
  24. mode = (mode_u*8*8)+(mode_g*8)+(mode_o*1);
  25. path = argv[2];
  26. if(-1 == chmod(path,mode)){ //判错操作,同时也执行了主要的功能
  27. printf("the chmod is error\n");
  28. exit(3);
  29. }
  30. return 0;
  31. }

发表评论

表情:
评论列表 (有 0 条评论,302人围观)

还没有评论,来说两句吧...

相关阅读

    相关 1.0

    // 平常未了解的知识 在eclipse的命令行参数中 \ 会被操作系统当作通配符,\号会把Eclipse当前项目的所有文件与文件夹当作参数传进来,无论是'\',还是"\"都

    相关 C指针3

                                                      C指针小结3        现在总结指针的更高一级的用法,

    相关 C指针1

                                                C指针小结1      我认为C语言的核心就是指针和对内存的操作,而操作内存就是由指针

    相关 FFMPEG学习1

    音视频处理包括 1.采集,编码,然后就是一个常见视频文件了。 2.将视频文件,进行解码,然后绘制,然后加上声音,就是视频播放了。 3.视频播放方案:使用VideoView