Linux 软件编程学习第五 六天之minishell小项目

利用Linux中IO接口实现MiniShell

项目要求:

1.进入软件后显示字符终端界面,界面中包含用户名(可以写死为linux)、操作系统名(可以写死为ubuntu)、当前所在的文件名

linux@ubuntu:Desktop

2.软件中支持用户输入如下命令:

1.ls

ls -a

ls -l

ls filename

ls -l filename

2.touch

touch filename

3.rm

rm filename

4.mkdir

mkdir dirname

5.rmdir

rmdir dirname

6.cd

cd ..

7.cp

cp src.txt dstdir

8.mv

mv oldpath newpath

9.cat

cat filename.txt

10.chmod

chmod 0777 filename

11.ln

ln -s file.txt a.txt

ln file.txt b.txt

12.find

find filepath -name filename

3.minishell记录了用户输入命令的时间和内容,可以支持用户使用history命令查看用户输入的历史命令及其输入的时间

history

2024-08-03 13:51:30\]history 项目要求: 1.编写项目文档 1.项目需求 项目背景 描述实现该原因及背景 需求分析 分析项目要求(不涉及技术) 概要设计 根据需求设计相关技术实现功能 软件框图:各个模块之间的功能及其关系 模块设计 具体每个功能的模块设计 流程图:每个模块实现功能的具体步骤及方式 2.根据代码功能,将代码划分成若干个文件,并使用多文件编程来实现代码 main.c main.h terminal.c terminal.h command.c command.h Makefile 编写文档 -\> 分析整体软件设计及实现 -\> 编写代码 -\> 调试代码 -\> 答辩 ![](https://i-blog.csdnimg.cn/direct/6d242a7b66b14a3f88e4e7c70a93354f.png)

相关推荐
莫回首�1 小时前
ubuntu 20.04 多网卡配置,遇到问题总结
linux·网络·ubuntu
网络安全许木1 小时前
自学渗透测试第11天(Linux压缩解压与磁盘管理)
linux·网络安全·渗透测试
wuweijianlove3 小时前
算法性能的渐近与非渐近行为对比的技术4
算法
_dindong4 小时前
cf1091div2 C.Grid Covering(数论)
c++·算法
AI成长日志4 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
沫璃染墨4 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
黎阳之光4 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
lifewange4 小时前
Linux ps 进程查看命令详解
linux·运维·服务器
skywalker_114 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
6Hzlia4 小时前
【Hot 100 刷题计划】 LeetCode 17. 电话号码的字母组合 | C++ 回溯算法经典模板
c++·算法·leetcode