1. int access(const char *pathname, int mode);
:通过mode 判断文件pathname是否存在,可读可写可执行
pathname: 文件名
mode :
F_OK : 文件存在
R_OK : 文件可读
W_OK : 文件可写
X_OK : 文件可执行
RETURN VALUE
On success (all requested permissions granted), zero is returned. On error (at least one bit in mode
asked for a permission that is
denied, or some other error occurred), -1 is returned, and errno is set appropriately.
==================================================================================================
int stat(const char *path, struct stat *buf);
int fstat(int fd, struct stat *buf);
int lstat(const char *path, struct stat *buf);
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);
改变文件所在用户当前的uid和gid
chown 和lchown
相同点:都是通过文件名去改变当前用户的uid和gid
区别: lchown可以通过符号连接文件去改变所在的用户的uid和gid
: chown不可以通过符号连接文件去改变所在的用户的uid和gid
fchown :
: fchown不可以通过符号连接文件去改变所在的用户的uid和gid
是通过文件描述符去改变当前用户的uid和gid
truncate
link unlink remove rename
symlink /readlink
mkidr /rmdir
opendir/readdir/rewinddir
chdir/fchdir/getcwd
:通过mode 判断文件pathname是否存在,可读可写可执行
pathname: 文件名
mode :
F_OK : 文件存在
R_OK : 文件可读
W_OK : 文件可写
X_OK : 文件可执行
RETURN VALUE
On success (all requested permissions granted), zero is returned. On error (at least one bit in mode
asked for a permission that is
denied, or some other error occurred), -1 is returned, and errno is set appropriately.
==================================================================================================
int stat(const char *path, struct stat *buf);
int fstat(int fd, struct stat *buf);
int lstat(const char *path, struct stat *buf);
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);
改变文件所在用户当前的uid和gid
chown 和lchown
相同点:都是通过文件名去改变当前用户的uid和gid
区别: lchown可以通过符号连接文件去改变所在的用户的uid和gid
: chown不可以通过符号连接文件去改变所在的用户的uid和gid
fchown :
: fchown不可以通过符号连接文件去改变所在的用户的uid和gid
是通过文件描述符去改变当前用户的uid和gid
link建立硬链接:int link(const char *oldpath, const char *newpath);
readlink:读取软链接的信息: ssize_t readlink(const char *path, char *buf, size_t buf siz);
remove:删除普通文件,空的目录文件:int remove(const char *pathname);
symlink:建立软链接: int symlink(const char *oldpath, const char *newpath);
unlink: 删除普通文件,不能删除目录文件: int unlink(const char *pathname);
truncate
link unlink remove rename
symlink /readlink
mkidr /rmdir
opendir/readdir/rewinddir
chdir/fchdir/getcwd