2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd

什么是PWD?

  • 用man pwd查看:

  • 用于打印当前工作目录的工作路径
  • 1.命令格式:pwd[选项]
  • 2.命令功能:查看”当前工作目录“的完整路径
  • 3.常用参数: 一般情况下不带任何参数。如果目录是链接时,格式:pwd -P 显示出实际路径,而非使用连接(link)路径。

实现mypwd

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <string.h>
#include <unistd.h>
ino_t get_inode(char*);
void pwd(ino_t);
void name(ino_t,char*,int);int main()
{pwd(get_inode("."));  printf("\n");return 0;
}void pwd(ino_t this_inode)
{ino_t my_inode;char its_name[BUFSIZ];if (get_inode("..")!=this_inode)                                 {chdir(".."); name(this_inode,its_name,BUFSIZ);my_inode = get_inode(".");pwd(my_inode);printf("/%s",its_name);}
}void name(ino_t inode,char* namebuf,int buflen)   //找到i-节点对应的文件名
{DIR* cdir;struct dirent* direntp;cdir = opendir(".");while((direntp = readdir(cdir)) != NULL){if(direntp->d_ino == inode){strncpy(namebuf,direntp->d_name,buflen);namebuf[buflen-1] = '\0';closedir(cdir);return;}}printf("error looking for inode\n");
}ino_t get_inode(char* fname)            //根据文件名,返回-i节点
{struct stat info;stat( fname, &info);return info.st_ino;
}

测试mypwd

转载于:https://www.cnblogs.com/hxl681207/p/7995357.html

2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd相关推荐

  1. 信息安全系统设计基础家庭作业

    <深入理解计算机系统>家庭作业 * 8.9 答案: 进程对 是否并发 AB 否 AC 是 AD 是 BC 是 BD 是 CD 是 * 8.10 答案: A. 调用一次,返回两次: fork ...

  2. 2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试

    2017-2018-1 20155336 <信息安全系统设计基础>第八周课堂测试 1.求命令行传入整数参数的和 参考 http://www.cnblogs.com/rocedu/p/676 ...

  3. 20155308 《信息安全系统设计基础》课程总结

    20155308 <信息安全系统设计基础>课程总结 每周作业链接汇总 第一周作业:第一章<计算机系统漫游>第七章<链接> 第二周作业:第二周课上+课下测试 第三周作 ...

  4. 20145223 《信息安全系统设计基础》课程总结

    20145223 <信息安全系统设计基础>课程总结 每周作业链接汇总 •第0周作业: •简要内容:学会了安装虚拟机VirtualBox和Linux系统,预习了Linux基础入门,对课程的内 ...

  5. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  6. 20145307《信息安全系统设计基础》课程总结

    20145307<信息安全系统设计基础>课程总结 每周作业链接汇总 第0周 浏览课本内容,结合每一章提出自己想知道的问题,安装虚拟机. 20145307 <信息安全系统设计基础> ...

  7. 20155330 《信息安全系统设计基础》课程总结

    20155330 <信息安全系统设计基础>课程总结 每周作业链接汇总 第一周作业:使用gcc编译器的常用选项.使用gdb调试技术.makefile基本原理及语法规范 第二周作业:vi测试. ...

  8. 20145201 《信息安全系统设计基础》课程总结

    每周作业链接汇总 第0周作业:http://www.cnblogs.com/20145201lzx/p/5862104.html 师生关系 每章问题 虚拟机安装 第一周作业:http://www.cn ...

  9. 2018-2019-1 《信息安全系统设计基础》教学进程

    <信息安全系统设计基础>教学进程 目录 考核方式 暑假准备 教学进程 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第04周学习任务和要求 第05周学习任务和要求 ...

最新文章

  1. 柚子小姐,Happy Birthday
  2. C/C++程序从编译到最终生成可执行文件的过程分析
  3. ELASTIC API
  4. 数据:以太坊2.0合约24小时新增2.04万ETH
  5. 王者荣耀AI即将上线,队友再也不用担心你掉线了
  6. 最新 Python 爬虫利器!
  7. css3动画由浅入深总结
  8. 【Hoxton.SR1版本】Spring Cloud Gateway之GlobalFilter全局过滤器
  9. 极光推送 简书android,极光推送 (具体步骤,指导操作,推送成功)
  10. 桥接路由器总是掉线_TP-LINK路由器桥接不稳定的解决方法
  11. 利用gpu加速神经网络算法,为什么用gpu 模型训练
  12. 罗伯特索耶的写作六法则
  13. Bootstrap之按钮的样式
  14. JS拉起支付宝,并加好友
  15. matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......
  16. SpringBoot+Thymeleaf实现图片上传和显示
  17. Python 包(package)
  18. Android学习-组件自动绑定
  19. 智能停车场管理系统多少钱一套?
  20. arm中断保护和恢复_ARM异常中断的原因及处理措施

热门文章

  1. OpenCV 车道线提取
  2. style=@android:style/buttonbar,Setting style=?android:attr/buttonBarStyle to parent layout and s...
  3. DeskArtes 3Data Expert Ultimate中文版
  4. Mac安装Dart的SDK
  5. push to origin/master was rejected错误解决方案
  6. 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等
  7. 第一天--来个占位符,让自己有一席之地
  8. SQL Server改MySQL注意事项
  9. 流行的jQuery信息提示插件(jQuery Tooltip Plugin)
  10. div+css+theme