mypwd
实现mypwd
任务列表
- 推荐在openEuler中完成
- 学习pwd命令
- 研究pwd实现需要的系统调用(man -k; grep),写出伪代码
- 实现mypwd
- 测试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的效果一致
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术