获取文件的属性信息及其操作函数

一、获取文件属性信息
int stat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);           (获取一打开文件的属性)
int lstat(const char *file, struct stat *buf);      (获取软连接的信息)
功能:获得文件的属性信息 
参数:
@path   文件所在的路径 
@buf   获得的属性信息存放的地址 
返回值:成功返回0,失败返回 -1 

二、通过id获得组名和用户名
  getwuid(u_id)       返回一个数组,包含用户名等信息 包含一个头文件   struct passwd
  getgrgid(g_id)     返回一个数组,包含组名等信息   包含头文件       struct group

三、文件权限关键字更改
umask(0777) 文件的权限 = 设置权限 & ~umask

四、更改文件存取权限

int chmod( char *path ,mode_t mode)     更改权限
int fchmod(int fd,mode_t mode)       更改打开的文件的权限
@mode_t 就是一个八进制的三位数

int chown(const char *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);           软连接

五、文件截断

int truncate(const char *path,off_t length);          length大于文件大小扩展,小于截断
int ftruncate(int fd,off_t length);                                  打开的

六、链接
int link(const char *path1 const char *path2);  建立1的硬链接2

int symlink(const char *path1 const char *path2);  建立1的软链接2

int ulink(const char *path)                     删除一个硬链接

注:当一个文件在系统中打开的次数为0 硬链接数为0时就被删除
七、删除
int remove(const char *path);

八、重命名
int rename(const char *old,const char *new);


 
   
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值