码迷,mamicode.com
首页 > 编程语言 > 详细

linux pwd指令C语言实现——20175303

时间:2019-12-16 00:04:04      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:图片   tor   pwd   lse   alt   --   类型   dir   运行   

linux pwd指令C语言实现——20175303

要求

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

学习pwd命令

打开终端,输入"man -k pwd",搜索与PWD有关的内容,显示PWD是打印目录的
技术图片

打印目录
技术图片

输入"man 1 pwd",学习PWD,参数有L/P两个
技术图片
-L:如果 PWD 环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径名,则显示 PWD 环境变量的值。否则,-L 标志与 -P 标志一样运行。
-P:显示当前目录的绝对路径名。与 -P 标志一起显示的绝对路径不包含在路径名的绝对路径中涉及到符号链接类型的文件的名称。
退出状态:该命令返回以下出口值:0 成功完成;>0 发生错误。

2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码

输入"man -k pwd"找到的结果表明没有系统调用,将pwd的内容目录dir、grep 2系统调用输入查找
描述相似的有getcwd,与pwd描述只差一个词print
技术图片

学习getcwd
技术图片

伪代码:

用getcwd函数获得当前目录;
然后打印出来;

3 实现mypwd

代码

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
main(void)
{
    char buf[1024];
    char *cwd =getcwd(buf, sizeof(buf));
    if (cwd == NULL) {
        perror("Get directory fail.\n");
        exit(-1);
    } 
    else {
        printf("%s\n", cwd);
         }
}

4 测试mypwd

实现截图
技术图片

linux pwd指令C语言实现——20175303

标签:图片   tor   pwd   lse   alt   --   类型   dir   运行   

原文地址:https://www.cnblogs.com/cxd20175303/p/12046376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!