20191330雷清逸 学习笔记4

文件操作

本章介绍各种文件系统。多种操作的操作系统级别,如文件存储,文件系统功能,系统调用和用户命令的存储设备准备。和各种SH脚本操作。全身解释的各种操作,包括在主要空间的读/写文件的流量。截至驱动程序级别的I / O的结束

讲述的低级别的文件操作,例如磁盘分区,分区表程序实例中,文件的文件格式的分区,和磁盘分区坐骑。介绍了Linux系统,它包含的数据系统结构的ext2文件系统。文件系统EXT2显示用于超级块,组描述符,索引块,节点的节点,并且内容目录的示例程序。

编程项目转换ext2文件/ 3文件系统,并计划在本章中所描述的技术,转换名路径索引节点,并打印信息。

文件系统函数:
kmount (),kumount():(mount/umount file systems)
kmkdir (),krmdir ():(make/remove directory)
kchdir(),kgetcwd():(change directory, get CWD pathname)
klink(),kunlink() : (hard link/unlink files)
kchmod (),kchown(), kutime():(change r|w|x permissions,owner,time)
kcreat(),kopen() :(create/open file for R,W,RW,APPEND)
kread(),kwrite() :(read/write opened files)
klseek();kclose():(Iseek/close file descriptors)
ksyralink(), kreadlink():(create/read symbolic link files)
kstat (), kfstat()/ klstat():(get file status/infoirmation)
kopendir (), kreaddir ():(open/read directories)

使用系统调用进行文件操作

一些基本的系统调用函数:

int rmdir(char *pathname);移除目录(此目录必须为空目录)。
int chdir(char *pathname);更改当前路径到pathname。
char *getcwd(char *buf,size_t size);将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小。
int access(const char *pathname, int mode);access函数用来判断指定的文件或目录是否存在。
int chmod(char *path, mode_t mode);更改某个文件的权限。
int chown(char *name, int uid, int gid);更改某个文件的所有者。
int link(char *oldpath, char *newpath);链接新文件名到旧文件名(硬链接)
int unlink(char *pathname);减少文件链接数,如果链接数为0,就删除文件
int symlink(char *oldpath, char *newpath);为文件创建一个符号链接
int rename(char *oldpath, char *newpath);重命名文件
int utime(char *pathname, struct utimebuf *time);更改文件访问时间和修改时间。
posted @ 2021-10-10 22:05  20191330雷清逸  阅读(28)  评论(0编辑  收藏  举报