基于linux下的高并发服务器开发(第一章)- 文件属性操作函数

 08 / 文件属性操作函数

基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第1张图片

1、access.c

#include
int access(const char *pathname, int mode);
    作用:判断某个文件是否有某个权限,或者判断文件是否存在
    参数:
        - pathname: 判断的文件路径
        - mode:
            R_OK: 判断是否有读权限
            W_OK: 判断是否有写权限
            X_OK: 判断是否有执行权限
            F_OK: 判断文件是否存在

    返回值:

        成功返回0, 失败返回-1

/*
    #include 
    int access(const char *pathname, int mode);
        作用:判断某个文件是否有某个权限,或者判断文件是否存在
        参数:
            - pathname: 判断的文件路径
            - mode:
                R_OK: 判断是否有读权限
                W_OK: 判断是否有写权限
                X_OK: 判断是否有执行权限
                F_OK: 判断文件是否存在
        返回值:成功返回0, 失败返回-1
*/

#include 
#include 

int main() {

    int ret = access("a.txt", F_OK);
    if(ret == -1) {
        perror("access");
    }

    printf("文件存在!!!\n");

    return 0;
}

(1) gcc access.c -o access

(2)./access

 2、chmod.c

#include
int chmod(const char *pathname, mode_t mode);
    修改文件的权限
    参数:
        - pathname: 需要修改的文件的路径
        - mode:需要修改的权限值,八进制的数

    返回值:

        成功返回0,失败返回-1

/*
    #include 
    int chmod(const char *pathname, mode_t mode);
        修改文件的权限
        参数:
            - pathname: 需要修改的文件的路径
            - mode:需要修改的权限值,八进制的数
        返回值:成功返回0,失败返回-1

*/
#include 
#include 
int main() {

    int ret = chmod("a.txt", 0777);

    if(ret == -1) {
        perror("chmod");
        return -1;
    }

    return 0;
}

(1)查看权限 

基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第2张图片 (2)修改权限值为0777

gcc chmod.c -o chmod

./chmod

ll

基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第3张图片

 3、truncate.c

#include
#include
int truncate(const char *path, off_t length);
    作用:缩减或者扩展文件的尺寸至指定的大小
    参数:
        - path: 需要修改的文件的路径
        - length: 需要最终文件变成的大小

    返回值:
        成功返回0, 失败返回-1

/*
    #include 
    #include 
    int truncate(const char *path, off_t length);
        作用:缩减或者扩展文件的尺寸至指定的大小
        参数:
            - path: 需要修改的文件的路径
            - length: 需要最终文件变成的大小
        返回值:
            成功返回0, 失败返回-1
*/

#include 
#include 
#include 

int main() {

    int ret = truncate("b.txt", 5);

    if(ret == -1) {
        perror("truncate");
        return -1;
    }

    return 0;
}

(1)查看b.txt的文件大小和内容

基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第4张图片

 

(2)用truncate修改b.txt文件大小

 基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第5张图片

基于linux下的高并发服务器开发(第一章)- 文件属性操作函数_第6张图片 

你可能感兴趣的:(服务器,linux,算法)