APUE第4章 文件和目录

时间:2022-03-27 03:51:25

4.2 文件函数

#include <sys/stat.h>
int stat(const char *restrict pathname, struct stat *restrict buf );
int fstat(int fd, struct stat *buf );
int lstat(const char *restrict pathname, struct stat *restrict buf );
int fstatat(int fd, const char *restrict pathname,
struct stat *restrict buf, int flag);
All four return: 0 if OK, −1 on error
  • 给出pathname,stat函数将与命名文件有关的信息结构
  • fstat 给出描述符fd上打开文件的文件信息
  • lstat 给出符号链接信息,而不是符号链接所连接文件信息

4.15 link

#include <unistd.h>
int link(const char *existingpath, const char *newpath);
* newpath 引用 existpath文件
int linkat(int efd, const char *existingpath, int nfd, const char *newpath,int flag);
* 两个路径名任意相对,则相对fd计算文件位置
* 两个描述符任一设置为AT_FDCWD,相对于当期目计算文件位置
flag 控制连接连接文件的源文件还是连接符本身
AT_SYMLINK_FOLLOW 连接符号连接的文件本身
Both return: 0 if OK, .1 on error
#include <unistd.h>
int unlink(const char *pathname);
int unlinkat(int fd, const char *pathname, int flag);
Both return: 0 if OK, .1 on error
#include <stdio.h>
int remove(const char *pathname);
Returns: 0 if OK, .1 on error