1、学习pwd命令
在终端中输入man 1 pwd得到pwd的帮助文档:
pwd [选项] (pwd命令只有选项,没有参数,因为它的作用是输出当前的工作目录名,所以不需要参数)
选项:
- -L:--logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)。
- -p:--physical,显示当前的路径(物理路径),有连接文件时,不使用连接路径,直接显示连接文件所指向的文件。
2、研究pwd实现需要的系统调用(man -k; grep),写出伪代码
在终端中输入man -k directory | grep 2 ,查找与显示当前路径相关的系统调用函数,其中可以发现一个函数:getcwd(),和pwd有关:
在终端中输入man 3 getcwd 查看帮助文档:
我们可以通过调用getcwd()函数来实现pwd,伪代码如下:
#include <stdio.h>
#include <unistd.h>
调用函数getcwd()
if (返回的指针==NULL)
调用函数出错,发出错误报告
else
打印结果
3、实现mypwd
实现代码如下:
#include <stdio.h>
#include <unistd.h>
int main(void){
char buff[256];
getcwd(buff,sizeof(buff));
printf("%s\n",buff);
return 0;
}
4、测试mypwd