加分项——C语言实现Linux的pwd命令

加分项——C语言实现Linux的pwd命令

实现要求

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

pwd

pwd是print working directory的缩写,即打印当前路径的意思。打开终端,一定会在执行命令的$号之前看见当前的工作目录,不过一定会出现~在前面或是/etc在后面。此时输入pwd命令就是可以将工作目录完全展开。

伪代码

首先使用一下pwd命令,然后输入 man pwd 以获取pwd命令的相关信息。
832599-20171117200217765-1831977683.png

然后输入 man -k directory | grep 2 得知一道getcwd()调用函数,而这道函数一定是和pwd命令相关的。
832599-20171117200552827-1691065761.png

这是函数getcwd()的原型。
832599-20171117200740234-5351006.png

那么这个pwd的伪代码描述就是这样的:

一个字符串数组储存绝对路径
调用函数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;
}

就没有见过这么简单的,不过不用getcwd()实现pwd命令可能会要更长的代码去实现。

测试代码

测试结果:
832599-20171117201830609-261231877.png

转载于:https://www.cnblogs.com/battlefieldheros/p/7853282.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值