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

准备

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

20155325 加分作业 实现pwd

思路

问题

1.如何获取当前目录的节点号
Linux stat函数讲解(获取文件详细信息)

根据以上博客,我改了个小程序,结果如下
20155325 加分作业 实现pwd

2.如何打开当前目录
opendir(".");

3.如何读取当前目录
readdir();

2.如何改变当前工作目录
chdir();

3.如何判定已进入根目录

inode == father_inode

4.如何存储路径并能利于直观调试

我设置了一个二维数组path[][],每一组存当前目录的名字

path[h][],在不同地方输出h就知道走到哪一层,最后一个存了几个路径。

顺序

递归:
{

  1. 获取当前目录和父目录的inode节点号
  2. 把当前的工作目录变成父目录
  3. 获取子目录的名字
  4. 如果1.的两个节点号相等则进入了根目录,退出输出。
  5. 递归

}

截图

20155325 加分作业 实现pwd

代码

mypwd

参考资料:

相关文章:

  • 2022-12-23
  • 2022-02-28
  • 2021-05-23
  • 2021-07-20
  • 2021-11-26
  • 2021-07-12
  • 2021-06-07
猜你喜欢
  • 2021-09-09
  • 2021-11-03
  • 2022-01-25
  • 2022-02-06
  • 2021-12-12
  • 2021-08-02
  • 2021-10-05
相关资源
相似解决方案