嵌入式25——Minishell

利用Linux中IO接口实现MiniShell

项目要求:
    1.编写项目文档
        1.项目需求
            项目背景
                描述实现该原因及背景
            需求分析
                分析项目要求(不涉及技术)
            概要设计
                根据需求设计相关技术实现功能
                软件框图:各个模块之间的功能及其关系
            模块设计
                具体每个功能的模块设计
                流程图:每个模块实现功能的具体步骤及方式
    2.将用户输入命令的时间及其命令写入到日志文件中并纪录
        [%d-%d-%d %d:%d:%d]:%s         
    3.根据代码功能,将代码划分成若干个文件,并使用多文件编程来实现代码
        main.c
        main.h
        terminal.c
        terminal.h
        command.c 
        command.h
        
        Makefile
    编写文档 -> 分析整体软件设计及实现 -> 编写代码 -> 调试代码 -> 答辩


需要思考的功能:
    1.打印终端命令行如何实现?
        [linux@Ubuntu:当前所在目录]                getcwd -> 绝对路径 -> 显示最后一部分内容
                                                                        /home/linux/Desktop/dirname

    2.能够接收用户的命令?
        ls                                       gets -> 解析字符串获得命令及其参数
        touch a.txt                             
        rmdir dirname 
        cp a.txt b.txt 
    
    3.实现对应命令?
        ls                                       opendir readdir closedir 
        ls -a                                   opendir readdir closedir 
        ls -l                                   
        touch                                fopen fclose 
        rm                                     remove 
        mkdir                                mkdir 
        rmdir                                 rmdir 
        cp                                      IO 
        cat                                     IO 
        ln                                       symlink link 
        pwd                                   getcwd 
        cd                                      chdir 

        mv                                     rename 
        chmod                               chmod 

    4.命令记录
        写入文件                        

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值