2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd
2017-12-06 23:04
555 查看
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
相关文章推荐
- 2017-2018-1 20155315 《信息安全系统设计基础》加分作业:实现mypwd
- 2017-2018-1 20155330 《信息安全系统设计基础》加分项目--实现mypwd
- 20155326 2017-2018-1 《信息安全系统设计基础》课下加分项mypwd实现
- 2017-2018-1 20155317 《信息安全系统设计基础》课堂实践——实现mypwd
- 2017-2018-1 20155233 《信息安全系统设计基础》实现mypwd
- 2017-2018-1 20155216 《信息安全系统设计基础》 实现mypwd
- 2017-2018-1 20155226 《信息安全系统设计基础》课下实践——实现mypwd
- 2017-2018-1 20155210 《信息安全系统设计基础》 实现mypwd
- 2017-2018-1 20155231 《信息安全系统设计基础》实现mypwd
- 2017-2018-1 20155220 《信息安全系统设计基础》课下实践——实现mypwd
- 2017-2018-1 20155321 《信息安全系统设计基础》课堂实践——实现mypwd
- 2017-2018-1 20155310 《信息安全系统设计基础》 实现mypwd
- 2017-2018-1 20155229 《信息安全系统设计基础》课下作业
- 2017-2018-1 20155331+20155336《信息安全系统设计基础》实验一报告
- 20155325 2017-2018 1 课上测试、课下作业、实验——码云&博客链接汇总 《信息安全系统设计基础》
- 2017-2018-1 20155336 《信息安全系统设计基础》实验五 通信协议设计
- 2017-2018-1 20155214 《信息安全系统设计基础》 第9周课下测试-mypwd
- 20155336 2017-2018 1 《信息安全系统设计基础》2017-10-25课堂实践
- 2017-2018-1 20155331+20155336《信息安全系统设计基础》实验一报告
- 2017-2018-1 20155214 《信息安全系统设计基础》 第8周课下作业