1.access:判断某个文件是否有某个权限或者是否存在
/*
#include <unistd.h>
int access(const char *pathname, int mode);
作用:判断某个文件是否有某个权限或者是否存在
参数:
-pathname:文件路径
-mode:
R_OK:判断是否有读权限
W_OK:判断是否有写权限
X_OK:判断是否有执行权限
F_OK:判断文件是否存在
返回值:成功返回0,失败返回-1
*/
#include<unistd.h>
#include<stdio.h>
int main()
{
int ret=access("a.txt",F_OK);
if(ret==-1)
{
perror("access");
return -1;
}
printf("文件存在!!\n");
return 0;
}
2.chmod:修改文件的权限
/*
#include <sys/stat.h>
int chmod(const char *pathname, mode_t mode);
作用:修改文件的权限
参数:
-pathname:修改文件的路径
-mode:需要修改的权限值,八进制的数
返回值:成功返回0,失败返回-1
*/
#include <sys/stat.h>
#include<stdio.h>
int main()
{
int ret=chmod("a.txt",0775);
if(ret==-1){
perror("chmod");
return -1;
}
return 0;
}
3.chown:修改某个文件的所有者或所在组
/*
#include <unistd.h>
int chown(const char *pathname, uid_t owner, gid_t group);
*/
#include <unistd.h>
#include<stdio.h>
int main(){
int ret=chown("a.txt",1001,1001);//这里要注意编译这个代码的用户有无权限,没有要用sudo
if(ret==-1)
{
perror("chown");
return -1;
}
}
4.truncate:修改文件大小
/*
#include <unistd.h>
#include <sys/types.h>
int truncate(const char *path, off_t length);
作用:缩减或扩展文件的尺寸至指定的大小
参数:
-path:需要修改的文件的路径
-lenth:需要最终文件变成的大小
返回值:
成功返回0,失败返回-1
*/
#include <unistd.h>
#include <sys/types.h>
#include<stdio.h>
int main()
{
int ret=truncate("b.txt",20);
if(ret==-1)
{
perror("truncate");
return -1;
}
return 0;
}