目录与文件层次
目录是一种特殊的文件,其内容是文件名到索引节点(inode)的映射表。Unix文件系统以目录为节点构建了层次化的文件树结构。
目录操作函数:
opendir:打开一个目录,返回DIR*指针。readdir:读取目录中的下一个条目,返回struct dirent*。dirent结构包含文件名(d_name)和inode编号(d_ino)。closedir:关闭目录。stat也可用于目录,通过S_ISDIR判断。
当前工作目录(CWD):
- 每个进程都有一个当前工作目录,是解析相对路径的起点。
getcwd:获取当前工作目录的绝对路径。chdir:更改当前工作目录。Shell的cd命令即调用chdir实现。
目录层次结构:
- 根目录
/是整个文件系统的起点。 - 目录形成树状结构,通过
/分隔路径名。 ..表示父目录,.表示当前目录。
chdir 只影响调用进程自身的工作目录,不影响父进程(如Shell)。因此Shell的 cd 必须是内建命令,不能作为外部进程执行。
链接到
- 上一个知识点:10.8 文件元数据
- 下一个知识点:10.10 共享文件