mypwd
实现mypwd
1.学习pwd
- 查看pwd帮助信息
man pwd
- 显示当前目录所在路径
pwd
- 显示当前目录的物理路径
pwd -P
*显示当前目录的连接路径
pwd -L
2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码
man -k dir | grep get
*研究pwd实现需要的系统调用
man -k dir | grep get
man getwd
3.实现mypwd
-
伪代码
根据文件名获取文件的inode-number
stat()通过文件名filename获取文件信息,并保存在buf所指的结构体stat中
根据inode-number, 在当前目录中查找对呀的文件名
opendir()打开一个目录,在失败的时候返回一个空的指针,成返回DIR结构体
readdir()用来读取目录。返回是dirent结构体指针
strdup()将串拷贝到新建的位置处,返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值
主函数中获取路径并打印 -
实现pwd
#include <stdio.h>
#include <unistd.h>
int main(void)
{
char buff[256];
getcwd(buff,sizeof(buff));
printf("当前路径为:%s\n",buff);
return 0;
}