[GNU/Linux] Linux系统调用-文件操作(二)
2017-07-20 17:19
239 查看
获得文件属性
函数功能:获得文件的属性。函数原型及解释
int stat(const char *restrict path, struct stat *restrict buf); int fstat(int fildes, struct *buf); int lstat(const char *restrict path, struct stat *restrict buf);
返回值:若执行成功则返回
0,失败则返回
-1。
path:要获得文件属性的文件的路径。既可以是绝对路径也可以是相对路径。
fildes:要控制的文件描述符。
buf:获得的文件属性将存在
buf参数所指的内存中。
设置文件的归属
函数功能:设置文件所属的用户和用户组。函数原型及解释
int chown(const char *path, uid_t owner, gid_t group); int fchown(int fildes, uid_t owner, gid_t group); int lchown(const char *path, uid_t owner, gid_t group);
返回值:若执行成功则返回
0,失败则返回
-1。
path:要设置的文件的路径。既可以是绝对路径也可以是相对路径。
fildes:要设置的文件的文件描述符。
owner:文件所属的用户,若设置为
-1则不改变。
group:文件所属的用户组,若设置为
-1则不改变。
改变文件长度
函数功能:截断或填充文件使其达到指定长度。函数原型及解释
int truncate(const char *path, off_t length); int ftruncate(int fildes, off_t length);
返回值:若执行成功则返回
0,失败则返回
-1。
path:要改变长度的文件的路径。既可以是绝对路径也可以是相对路径。
fildes:要改变长度的文件的文件描述符。
length:新的文件长度。若比原来的长度短,则截断文件,若比原来的长度长,则以二进制
0填充。
改变文件修改时间
函数功能:改变文件的访问时间和更改时间。函数原型及解释
int utime(const char *path, const struct utimbuf *times); int utimes(const char *path, const struct timeval times[2]);
返回值:若执行成功则返回
0,失败则返回
-1。
path:要改变修改时间的文件的路径。既可以是绝对路径也可以是相对路径。
times:新的访问时间和更改时间。若指定为
NULL则不改变。
times[2]:新的访问时间和更改时间。其中times[0]为访问时间,times[1]为更改时间。
设置屏蔽字
函数功能:设置文件的默认权限屏蔽字。函数原型及解释
int umask(mode_t mask);
返回值:返回
原来的屏蔽字。
mask:要设置的新的屏蔽字。
移动/删除文件
函数功能:删除/移动文件。函数原型及解释
int rename(const char *old, const char *new); int unlink(const char *path); int remove(const char *path);
返回值:若执行成功则返回
0,失败则返回
-1。
old:文件的新路径。
new:文件的新路径。若新旧路径在同一目录下,可以认为是在重命名。
path:要删除的文件路径。既可以是绝对路径也可以是相对路径。
创建/删除目录
函数功能:创建/删除目录。函数原型及解释
int mkdir(const char *path, mode_t mode); int rmdir(const char *path);
返回值:若执行成功则返回
0,失败则返回
-1。
old:文件的新路径。
new:文件的新路径。若新旧路径在同一目录下,可以认为是在重命名。
path:要创建/删除的文件夹的路径。既可以是绝对路径也可以是相对路径。
获得当前目录
函数功能:获得当前工作目录。函数原型及解释
char *getcwd(char *buf, size_t size); char *getwd(char *buf); char *get_current_dir_name(void);
返回值:若执行成功则返回
0,失败则返回
-1。
buf:用于存储当前工作目录。
size:
buf参数的大小。若指定为
NULL,将自动分配。
设置当前目录
函数功能:设置当前工作目录。函数原型及解释
int chdir(const char *path); int fchdir(int fildes);
返回值:若执行成功则返回
0,失败则返回
-1。
path:要设置为工作目录的路径。既可以是绝对路径也可以是相对路径。
fildes:要设置为工作目录的文件描述符
目录操作
函数功能:打开一个目录;关闭目录;获取目录中的文件信息。函数原型及解释
DIR *opendir(const char *name); DIR *fdopendir(int fd); int closedir(DIR *dirp); struct dirent *readdir(DIR *dirp);
返回值:若成功则分别返回
打开的目录流、
0和
目录下的文件信息,失败则分别返回
NULL、
0和
NULL。
name:要打开的目录路径。既可以是绝对路径也可以是相对路径。
fd:要打开的目录的文件描述符。
dirp:要关闭/读取的目录流。
相关文章推荐
- [GNU/Linux] Linux系统调用-文件操作(一)
- Linux下文件读写操作一例(系统调用方式)
- linux中常用文件操作调用系统
- Linux文件操作总结(系统调用和标准IO库函数)
- linux文件操作笔记(1)——系统调用、库函数
- LInux文件基础知识和文件目录操作(系统调用函数方式)
- Linux系统调用 - 文件操作
- Linux 文件操作——系统调用和标准I/O库
- 利用文件操作的系统调用 实现 Linux 中的cp 功能
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- linux系统调用文件操作
- 【Linux环境编程入门】四、文件操作的系统调用
- LINUX下通过系统调用的文件操作
- Linux 文件操作的系统调用接口
- Linux 文件操作——系统调用和标准I/O库
- Linux C 文件操作,系统调用 -- open()、read() 和 标准I/O库 -- fopen()、fread()
- linux系统调用——文件操作
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- linux系统下库函数和系统调用都对文件的基本操作
- linux文件操作之系统调用