预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

linux文件和目录操作的相关函数使用教程structstat{mode_tst_mode;文件类型,文件权限ino_tst_ino;i节点号dev_tst_dev;dev_tst_rdev;设备文件序号nlink_tst_nlink;链接uid_tst_uid;gid_tst_gid;用户IDoff_tst_size;文件大小,此字段只对普通文件、目录文件和符号连接有意义。time_tst_atime;最后存取时间time_tst_mtime;文件内容的最后修改时间time_tst_ctime;文件状态的最后修改时间longst_blksize;longst_blocks;};1,stat函数取得文件信息。#include#includeintstat(constchar*pathname,structstat*buf);intfstat(intfd,structstat*buf);intlstat(constchar*pathname,structstat*buf);lstat函数类似于stat,但是当命名的文件是一个符号连接时,lstat返回该符号连接的有关信息,而不是由该符号连接引用的文件的信息2,access函数判断文件权限#includeintaccess(constchar*name,intmode);返回:若成功则为0,若出错则为-1access函数的mode常数,取自mode说明R_OK测试读许可权W_OK测试写许可权X_OK测试执行许可权F_OK测试文件是否存在3,umask函数设置文件创建屏蔽字#include#includemode_tumask(mode_ttask);返回:以前的文件方式创建屏蔽字4,chmod函数用于修改文件的权限#include#includeintchmod(constchar*pathname,mode_tmode);intfchmod(intfd,mode_tmode);两个函数返回:若成功则为0,若出错则为-15,chown函数可用于更改文件的用户ID和组ID。#include#includeintchown(constchar*pathname,uid_towner,gid_tgroup);intfchown(intfd,uid_towner,gid_tgroup);intlchown(constchar*pathname,uid_towner,gid_tgroup);三个函数返回:若成功则为0,若出错则为-16,在文件末尾处截短文件可以调用函数truncate和ftruncate。将一个文件的长度截短为0是一个特例,用O_TRUNC标志可以做到这一点。#include#includeinttruncate(constchar*pathname,off_tlength);intftruncate(intfiledes,off_tlength);两个函数返回;若成功则为0,若出错则为-17,创建一个向现存文件连接的方法是使用link函数,想当于硬连接ln。只有超级用户进程可以创建指向一个目录的新连接。其理由是这样做可能在文件系统中形成循环,大多数处理文件系统的公用程序都不能处理这种情况#includeintlink(constchar*oldpath,constchar*newpath);返回:若成功则为0,若出错则为-1为了删除一个现存的目录项,可以调用unlink函数。#includeintunlink(constchar*pathname);返回:若成功则为0,若出错则为-1。此函数删除目录项,并将由pathname所引用的文件的连接计数减1。硬连接的一些限制:(a)硬连接通常要求连接和文件位于同一文件系统中,(b)只有超级用户才能创建到目录的硬连接。symlink函数创建一个符号连接。相当于软连接,ln-s#includeintsymlink(constchar*oldpath,constchar*sympath);返回:若成功则为0,若出错则为-1因为open函数跟随符号连接,所以需要有一种方法打开该连接本身,并读该连接中的名字。readlink函数提供了这种功能。#includeintreadlink(constchar*pathname,char*buf,intbufsize);返回:若成功则为读的字节数,若出错则为-1此函数组合了open,read和close的所有操作。8,用mkdir函数创建目录,用rmdir函数删除目录。#include#includeintmkdir(constchar*pathname,mode_tmode);返回:若成功则为0,若出错则为-1#includeintrmdir(constchar*pathname);返回:若成功则