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


posted on 2019-12-15 15:06  20175328李欣颖  阅读(96)  评论(0编辑  收藏  举报