linux系统编程-学习笔记4-chmod/access/chown/link/truncate

来源:互联网 发布:nba数据库统计三分 编辑:程序博客网 时间:2024/06/16 16:16
 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


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);


chmod/fchmod
truncate
link unlink remove rename
symlink /readlink

mkidr /rmdir
opendir/readdir/rewinddir
chdir/fchdir/getcwd

0 0
原创粉丝点击