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函数讲解

  • 相关阅读:
    Android.InstallDevelopmentEvn
    iOS.KVC.setValue:forKey:
    Business.Startup.Learning from Startup Mistakes at SpringSource
    职场.打造你自己的程序员品牌
    iOS.OpenSource.PopularProject
    iOS.Animation.CAMediaTiming
    Python.SQLAlchemy.1
    OpenSource.SerializationLibrary
    Python.SourceCodeSearchEngine
    iOS.WWDC
  • 原文地址:https://www.cnblogs.com/jhs888/p/10018044.html
Copyright © 2011-2022 走看看