• mypwd


    实现mypwd

    任务列表

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

    1 学习pwd

    Linux pwd(英文全拼:print work directory) 命令用于显示工作目录。
    执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。

    语法

    pwd [--help][--version]

    参数说明
    • --help 在线帮助。
    • --version 显示版本信息。
    • -L 如果 PWD 环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径名,则显示 PWD 环境变量的值。否则,-L 标志与 -P 标志一样运行。
    • -P 显示当前目录的绝对路径名。与 -P 标志一起显示的绝对路径不包含在路径名的绝对路径中涉及到符号链接类型的文件的名称。

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

    man pwd

    man -k pwd

    man --help

    man -k directory | grep 2

    通过这条命令,我们找到了getcwd()函数,其功能为获得当前的工作目录,与pwd命令功能一致,故判断getcwd()为pwd命令的系统调用

    伪代码
    创建一个字符串数组储存pwd要显示的绝对路径
    使用系统调用getcwd()
    if (返回指针==NULL)
        调用出错,返回error
    else
        打印目录
    

    3 使用系统调用getcwd()实现pwd

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

    4 测试结果

    #include <stdio.h>
    #include <unistd.h>
    int main(void)
    {
        char path[1000];
        getcwd(path,sizeof(path));
        printf("工作区路径:%s\n",path);
        return 0;
    }
    

    使用pwd与系统调用实现pwd的效果一致

  • 相关阅读:
    高考词根树 高考词汇3071
    浏览器的文件访问 API 入门(英文) 资料
    translate speaker 翻译朗读者API vscode 插件推荐 单词发音
    .bat 批处理 手册 教程
    阿里巴巴20220422笔试编程题
    leetcode 587 安装栅栏
    记录一些面试题
    Java编辑提示错误: 编码 GBK 的不可映射字符 (0x80)
    Struct和Class区别?
    Swift String 与 NSString
  • 原文地址:https://www.cnblogs.com/yu15141310373/p/16811006.html
Copyright © 2020-2023  润新知