实现mypwd
具体要求
-
- 学习pwd命令
-
- 研究pwd实现需要的系统调用(man -k;grep),写出伪代码
-
- 实现mypwd
-
- 测试mypwd
1.学习pwd命令
- 利用
man pwd
查看pwd命令的帮助信息
命令如下:
- 显示当前目录所在路径
pwd
- 显示当前目录的物理路径
pwd –P
- 显示当前目录的连接路径:
pwd -L
什么是“pwd”
‘pwd‘ 代表的是‘Print Working Directory’(打印当前目录)。如它的名字那样,‘pwd’会打印出当前工作目录,或简单的来说就是当前用户所位于的目录。它会打印出以根目录 (/)为起点的完整目录名(绝对目录)。这条命令是一条shell内建命令,并且在大多数shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。
2. 研究pwd实现需要的系统调用(man -k;grep),写出伪代码
man -k directory | grep 2
可以寻找实现打印当前目录的系统调用函数
- 得知一道
getcwd()
调用函数,且利用man getcwd
找到该函数的头文件,及编写方式
- 所以得出该pwd算法的伪代码描述:
一个字符串数组储存绝对路径
if (调用函数getcwd()进行判断)
打印结果
else
函数错误
3. 实现mypwd
#include <stdio.h>
#include <unistd.h>
#define MAXLEN 200
int main(void){
char path_name[MAXLEN];
if(getcwd(path_name,MAXLEN))
printf("%s
",path_name);
else{
printf("Error:getcwd...
");
exit(0);
}
}