13.与目录树相关的命令和系统调用
命令 mkdir
实现 头文件 #include <sys/stat.h> #include <sys/types.h>
函数原型 int res=mkdir(char *path,mode_t mode);
命令 rmdir 删除一个目录,这个目录必须是空的
实现 头文件#include <unistd.h>
函数原型int res=rmdir(const char* path);
命令 rm 减少相应i-节点连接数,若此时节点书减为0,就释放数据块和节点。不能用来删除目录
实现 头文件#include <unistd.h>
函数原型int res=unlink(const char *path);
命令 ln 不能用来生成目录的链接。
实现 头文件#include <unistd.h>
函数原型 int res=link(const char *old,const char *new);
命令 mv 删除原来的目录,复制到新的里面
实现 头文件#include <unistd.h>
函数原型int res=rename(const char* from,const char *to);
原理:复制链接到新的名字/位置再删除原来的链接
if(link("x","z")!=-1)
unlink("x");
命令 cd 对进程有影响,对目录本身没有影响
实现 头文件 #include <unistd.h>
函数原型 int res=chdir(const char *path);
14.pwd 命令的实现
运行结果:
caoli@caoli-laptop:~/workspace/test$ ./pwd1
/home/caoli/workspace/test
caoli@caoli-laptop:~/workspace/test$