实现要求

1 学习pwd命令
2 研究pwd实现需要的系统调用(man -k | grep ),写出伪代码
3 实现mypwd
4 测试mypwd

学习pwd命令

pwd的意思是Print Working Directory,也就是打印工作目录,意如其名,就是说打印出用户当前所在目录,它会打印出从根目录(/)开始到当前所在目录的完整路径。这条命令是一条shell的内置命令,并且在大多数shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。
1.命令格式:
pwd [选项]
-L –logical 当目录为连接路径时,显示连接路径
-P –physical 显示实际物理路径,而非使用连接(link)路径
--help display this help and exit
--version output version information and exit
根据上述要求在终端中输入pwdpwd -Lpwd -P
2019-2020-1 20175311 学习pwd实现mypwd

pwd命令

pwd是print working directory的缩写,即打印当前路径的意思。打开终端,一定会在执行命令的$号之前看见当前的工作目录,不过一定会出现~在前面或是/etc在后面。此时输入pwd命令就是可以将工作目录完全展开。
输入man pwd就能够查看pwd命令的详细参数,其中就有它的四种类型与用法
2019-2020-1 20175311 学习pwd实现mypwd
使用man -k current directory | grep 2以pwd的相关描述作为关键词进行查找,并筛选系统调用,查找到系统调用命令getcwd 和 readdir
2019-2020-1 20175311 学习pwd实现mypwd
输入man getpwd可以查看GETCWD函数的详细参数
2019-2020-1 20175311 学习pwd实现mypwd
2019-2020-1 20175311 学习pwd实现mypwd
输入man readdir可以查看READDIR函数的详细参数
2019-2020-1 20175311 学习pwd实现mypwd

伪代码描述

一个字符串数组储存绝对路径
调用函数getcwd()
if (返回的指针==NULL)
    调用函数出错,发出错误报告
else
    打印结果

代码实现

#include <stdio.h>
#include <unistd.h>
int main(void)
{
    char buff[256];
    getcwd(buff,sizeof(buff));
    printf("当前路径为:%s\n",buff);
    return 0;
}

2019-2020-1 20175311 学习pwd实现mypwd

相关文章:

猜你喜欢
  • 2021-06-04
  • 2022-12-23
  • 2021-11-24
  • 2021-07-05
  • 2021-10-17
  • 2021-12-01
相关资源
相似解决方案