2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd
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相关推荐
- 信息安全系统设计基础家庭作业
<深入理解计算机系统>家庭作业 * 8.9 答案: 进程对 是否并发 AB 否 AC 是 AD 是 BC 是 BD 是 CD 是 * 8.10 答案: A. 调用一次,返回两次: fork ...
- 2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试
2017-2018-1 20155336 <信息安全系统设计基础>第八周课堂测试 1.求命令行传入整数参数的和 参考 http://www.cnblogs.com/rocedu/p/676 ...
- 20155308 《信息安全系统设计基础》课程总结
20155308 <信息安全系统设计基础>课程总结 每周作业链接汇总 第一周作业:第一章<计算机系统漫游>第七章<链接> 第二周作业:第二周课上+课下测试 第三周作 ...
- 20145223 《信息安全系统设计基础》课程总结
20145223 <信息安全系统设计基础>课程总结 每周作业链接汇总 •第0周作业: •简要内容:学会了安装虚拟机VirtualBox和Linux系统,预习了Linux基础入门,对课程的内 ...
- 20135203齐岳 信息安全系统设计基础第十三周学习总结
20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...
- 20145307《信息安全系统设计基础》课程总结
20145307<信息安全系统设计基础>课程总结 每周作业链接汇总 第0周 浏览课本内容,结合每一章提出自己想知道的问题,安装虚拟机. 20145307 <信息安全系统设计基础> ...
- 20155330 《信息安全系统设计基础》课程总结
20155330 <信息安全系统设计基础>课程总结 每周作业链接汇总 第一周作业:使用gcc编译器的常用选项.使用gdb调试技术.makefile基本原理及语法规范 第二周作业:vi测试. ...
- 20145201 《信息安全系统设计基础》课程总结
每周作业链接汇总 第0周作业:http://www.cnblogs.com/20145201lzx/p/5862104.html 师生关系 每章问题 虚拟机安装 第一周作业:http://www.cn ...
- 2018-2019-1 《信息安全系统设计基础》教学进程
<信息安全系统设计基础>教学进程 目录 考核方式 暑假准备 教学进程 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第04周学习任务和要求 第05周学习任务和要求 ...
最新文章
- 柚子小姐,Happy Birthday
- C/C++程序从编译到最终生成可执行文件的过程分析
- ELASTIC API
- 数据:以太坊2.0合约24小时新增2.04万ETH
- 王者荣耀AI即将上线,队友再也不用担心你掉线了
- 最新 Python 爬虫利器!
- css3动画由浅入深总结
- 【Hoxton.SR1版本】Spring Cloud Gateway之GlobalFilter全局过滤器
- 极光推送 简书android,极光推送 (具体步骤,指导操作,推送成功)
- 桥接路由器总是掉线_TP-LINK路由器桥接不稳定的解决方法
- 利用gpu加速神经网络算法,为什么用gpu 模型训练
- 罗伯特索耶的写作六法则
- Bootstrap之按钮的样式
- JS拉起支付宝,并加好友
- matlab提取数据画图,matlab提取excel表格数据画图-如何将Excel中的数据导入MATLAB并在MATLAB中画出图......
- SpringBoot+Thymeleaf实现图片上传和显示
- Python 包(package)
- Android学习-组件自动绑定
- 智能停车场管理系统多少钱一套?
- arm中断保护和恢复_ARM异常中断的原因及处理措施
热门文章
- OpenCV 车道线提取
- style=@android:style/buttonbar,Setting style=?android:attr/buttonBarStyle to parent layout and s...
- DeskArtes 3Data Expert Ultimate中文版
- Mac安装Dart的SDK
- push to origin/master was rejected错误解决方案
- 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等
- 第一天--来个占位符,让自己有一席之地
- SQL Server改MySQL注意事项
- 流行的jQuery信息提示插件(jQuery Tooltip Plugin)
- div+css+theme