Linux C编程--目录文件操作.pdf
《Linux C编程--目录文件操作.pdf》由会员分享,可在线阅读,更多相关《Linux C编程--目录文件操作.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、D DLUTBruceZhang的专栏LUTBruceZhang的专栏 生活就是需要有创意-例如:Coding&Debug生活就是需要有创意-例如:Coding&Debug 置顶置顶 Linux C编程-目录文件操作 Linux C编程-目录文件操作 分类:Linux C编程 2013-03-01 18:57 441人阅读 评论(0)收藏 举报 Linux C编程 1.stat 获取文件属性获取文件属性#include#include#include int stat(const char*filename,struct stat*buf);int fstat(fd,struct stat*b
2、uf);int lstat(const char*filename,struct stat*buf);fstat与与stat的区别是的区别是fstat通过文件描述符指定文件;通过文件描述符指定文件;lstat与与stat的区别在的区别在于,对于符号连接文件,于,对于符号连接文件,lstat返回的是符号链接文件本身的状态信息,而返回的是符号链接文件本身的状态信息,而stat返返回的是符号链接指向的文件状态信心。回的是符号链接指向的文件状态信心。成功返回成功返回0,错误范围,错误范围-1 2.chown 设置文件属性设置文件属性#include#include int chown(const ch
3、ar*path,uid_t owner,gid_t group);int fchown(int fd,uid_t owner,gid_t group)int lchown(const char*path,uid_t owner,gid_t group);fchown与与chown的区别是的区别是fchown通过文件描述符指定文件;通过文件描述符指定文件;lchown与与chown的区别在于,对于符号连接文件,的区别在于,对于符号连接文件,lchown返回的是符号链接文件本身的返回的是符号链接文件本身的状态信息,而状态信息,而chown返回的是符号链接指向的文件状态信心。返回的是符号链接指向的文
4、件状态信心。成功返回成功返回0,错误范围,错误范围-1 文件的所有者只能改变文件的组文件的所有者只能改变文件的组id为其所属组中的一个,超级用户才能修改文为其所属组中的一个,超级用户才能修改文件的所有者件的所有者id,并且超级用户可以任意修改文件的用户组,并且超级用户可以任意修改文件的用户组id。如果参数。如果参数owner或或group指定为指定为-1,那么文件的用户,那么文件的用户id和组和组id不会被改变。不会被改变。3.truncate 改变文件大小改变文件大小#include 1#include int truncate(const char*path,off_t length);i
5、nt ftruncate(int fd,off_t length);将指定文件大小改为参数将指定文件大小改为参数length指定的大小,如果原来的文件比参数指定的大小,如果原来的文件比参数length大,则超过的部分会被删除;如果原来的文件大小比参数大,则超过的部分会被删除;如果原来的文件大小比参数length小,则文件将被小,则文件将被扩展,扩展部分用扩展,扩展部分用0填充。填充。成功返回成功返回0,错误范围,错误范围-1 4.utime 改变文件的改变文件的st_mtime域和域和st_ctime域,即存取时间和修改时间。域,即存取时间和修改时间。#include#include int
6、utime(const char*filename,struct utimbuf*buf);#include int utime(char*filename,struct timeval*tvp);struct utimbuf time_t actime;time_t modtime;如果如果buf是一个空指针,则存取时间和修改时间都为当前时间。是一个空指针,则存取时间和修改时间都为当前时间。成功返回成功返回0,错误范围,错误范围-1 5.umake 设置文件创建时的屏蔽字,并返回以前的值设置文件创建时的屏蔽字,并返回以前的值#include#include mode_t umask(mode
7、_t mask);6.rename 文件的移动和修改文件名文件的移动和修改文件名#include int rename(const char*oldpath,const char*newpath);2 若若newpath指定的文件已存在,则原文件会删除指定的文件已存在,则原文件会删除 7.remove 文件的删除文件的删除#include int unlink(const char*pathname);int remove(const char*pathname);文件的删除可以使用文件的删除可以使用unlink系统调用,目录的删除需要使用系统调用,目录的删除需要使用rmdir系统调系统调用,
8、而通用的既能删除文件又能删除目录的系统调用是用,而通用的既能删除文件又能删除目录的系统调用是remove,remove内部封内部封装了装了unlink和和rmdir。成功返回成功返回0,错位返回,错位返回-1。8.mkdir 目录的创建目录的创建#include#include int mkdir(const char*pathname,mode_t mode);成功返回成功返回0,错位返回,错位返回-1。9.rmdir 目录的删除目录的删除#include int rmdir(const char*pathname);rmdir只能删除空目录,成功返回只能删除空目录,成功返回0,错位返回,错
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux C编程-目录文件操作 编程 目录 文件 操作
限制150内