Advertisement

在macOS平台下初步实现ls命令的功能(列出目录中的文件和子目录)

阅读量:
  • 文件结构
    • 主函数

    • 命令行参数解析

    • 输出结构体成员

    • 输出文件清单

      • 目录结构读取
      • getFileDetails
        • 基本信息获取
        • 文件属性组合
        • 列表输出
    • Makefile的编写过程

    • 结果展示

    • 源码链接

在*nix系统中,ls命令是一个极为关键的工具,用于列出特定目录下的文件列表。实际上,该命令的实现逻辑相对简单。近日在闲暇之时,便尝试在Mac平台上编写了一段相关代码。

文件结构

无需关注具体实现细节,ls功能的核心构成主要涵盖两个方面,其一是参数的解析处理,其二是生成文件列表的输出,因此我的项目所采用的文件组织形式如下所示:

文件结构

main:作为程序的启动模块,负责调用生成输出列表的函数
fileinfo:用于存储ls命令输出行中的model信息
parsecmd:该文件主要承担参数解析的功能,由于编写较为简略,未进行详尽的校验工作,仅实现了ls命令中涉及的-a和-l两个选项
dirhandler:该文件的核心作用

全部评论 (0)

还没有任何评论哟~