zoukankan      html  css  js  c++  java
  • 20165202 Mypwd

    实现mypwd(选做,加分)

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

    提交过程博客的链接


    实现过程

    1. 使用man -k pwd查看pwd在man手册中的说明。手册里的介绍是:
      pwd (1) - print name of current/working directory
      pwd命令的作用是p(rint name of )w(orking) d(irectory),打印正在工作或者最近的文件夹名。具体的使用方法是直接在终端中输入pwd,然后在下方会打印出正在工作或者最近的文件名。

    运行man -k pwd

    运行pwd:

    1. 使用man pwd查看pwd命令的具体说明发现pwd命令是属于1类命令,即应用命令不是之前的2类系统调用。如果要打印文件信息,采用c语言核心命令是stat()函数,文件的相关信息会记录在文件系统里,stat()函数的作用就是读取文件系统里的信息。

    运行man pwd

    代码核心函数:

    
    main函数:主函数
    
    get_inode函数:取某个文件的索引信息(进入点)
    
    printpathto函数:打印路径
    
    inum_to_name函数:将长整型的索引信息转化为字符串的形式
    
    
    
    1. 通过以上的分析对pwd进行编写,其中参考了pwd的源代码。

    2. 我们在home主文件夹中创建了一个pwd文件夹,在里面放置了pwd.c的代码并进行了编译运行,显示的运行文件路径是/home/linux/pwd,然后再使用使用Linux中的pwd查看当前运行文件路径也是/home/linux/pwd

    运行截图:


    学习中遇到的问题

    问题1:

    Linux中如何获得文件信息?目前文件夹的信息的存在哪里?

    解决1:

    通过网上的资料得到了stat可以读取系统文件的信息,于是使用man -k stat查看stat的详细资料。这里存在应用和系统调用两个使用方法,可以在pwd中使用stat的系统调用来获得系统文件的信息,并打印出来。


    参考资料

    linux stat函数讲解

  • 相关阅读:
    python之os模块
    python之字符串
    python之爬虫(beautifulsoup)
    python之常见算法
    python之装饰器(类装饰器,函数装饰器)
    python之mock使用,基于unittest
    python之定时器
    python基础语法随记
    redis基础
    移动端页面开发(二)
  • 原文地址:https://www.cnblogs.com/jhs888/p/10018044.html
Copyright © 2011-2022 走看看