易截截图软件、单文件、免安装、纯绿色、仅160KB

linux常用c函数 文件权限控制篇

access(判断是否具有存取文件的权限)
  相关函数  stat,open,chmod,chown,setuid,setgid
  表头文件  #include<unistd.h>
  定义函数  int access(const char * pathname,int mode);
  函数说明  access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,R_OK,W_OK,X_OK
和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。由于access()只作
权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。
例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。
  返回值  若所有欲查核的权限都通过了检查则返回0值,表示成功,只要有一权限被禁止则返回-1。
  错误代码  EACCESS 参数pathname 所指定的文件不符合所要求测试的权限。
  EROFS 欲测试写入权限的文件存在于只读文件系统内。
  EFAULT 参数pathname指针超出可存取内存空间。
  EINVAL 参数mode 不正确。
  ENAMETOOLONG 参数pathname太长。
  ENOTDIR 参数pathname为一目录。
  ENOMEM 核心内存不足
  ELOOP 参数pathname有过多符号连接问题。
  EIO I/O 存取错误。
  附加说明 
使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。
  范例  /* 判断是否允许读取/etc/passwd */
  #include<unistd.h>
  int main()
  {
  if (access(“/etc/passwd”,R_OK) = =0)
  printf(“/etc/passwd can be read\n”);
  }
  执行  /etc/passwd can be read
  alphasort(依字母顺序排序目录结构)
  相关函数  scandir,qsort
  表头文件  #include<dirent.h>
  定义函数  int alphasort(const struct dirent **a,const struct dirent
**b);
  函数说明 
alphasort()为scandir()最后调用qsort()函数时传给qsort()作为判断的函数,详细说明请参考scandir()及
qsort()。
  返回值  参考qsort()。
  范例  /* 读取/目录下所有的目录结构,并依字母顺序排列*/
  main()
  {
  struct d


相关文档:

Linux 的多线程编程的高效开发经验

2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......

redhat linux命令大全


一. 启动,关机,登入,登出相关命令
<login> 登录
<logout> 登出
<exit> 登出
<shutdown> 停止系统
<halt> 停止系统
<reboot> 重启动
<poweroff> 切断电源
<sync> 把内存里的内容写入磁盘
<lilo> 安装lilo启动管理程序
<grub> 安装lilo启动管理程序 ......

Linux指令:chmod

指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX] ......

linux menuconfig

Linux 2.6.19.x 内核编译配置选项简介
作者:金步国
版权声明
本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号