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:30history

项目要求:

1.编写项目文档

1.项目需求

项目背景

描述实现该原因及背景

需求分析

分析项目要求(不涉及技术)

概要设计

根据需求设计相关技术实现功能

软件框图:各个模块之间的功能及其关系

模块设计

具体每个功能的模块设计

流程图:每个模块实现功能的具体步骤及方式

2.根据代码功能,将代码划分成若干个文件,并使用多文件编程来实现代码

main.c

main.h

terminal.c

terminal.h

command.c

command.h

Makefile

编写文档 -> 分析整体软件设计及实现 -> 编写代码 -> 调试代码 -> 答辩

相关推荐
fishwww_ww5 分钟前
服务器免密登录与流量端口转发
linux
Amazing_Cacao31 分钟前
深度专栏 | 粉碎感官玄学:精品可可的冷酷重构与物理变量
学习
sheeta199833 分钟前
LeetCode 补拙笔记 日期:2026.06.07 题目:128. 最长连续序列
笔记·算法·leetcode
xian_wwq43 分钟前
【学习笔记】「大模型安全:攻击面演化史」第 05 篇-Agent安全
笔记·学习·ai安全
sheeta19981 小时前
LeetCode 补拙笔记 日期:2026.06.07 题目:1. 两数之和
笔记·算法·leetcode
开开心心_Every1 小时前
解决打印机共享难题的实用工具
linux·b树·安全·游戏·随机森林·pdf·计算机外设
柒和远方2 小时前
LeetCode 452. 用最少数量的箭引爆气球 —— 区间贪心经典:排序 + 扫描一箭穿心
javascript·python·算法
江华森3 小时前
操作系统与 Linux 内核实战教程
linux·运维·服务器
Zhang~Ling3 小时前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法
ECT-OS-JiuHuaShan3 小时前
什么是对和错?——“有针对性定义域的逻辑值的真伪”:认识论终极追问的公理化裁决
数据库·人工智能·算法·机器学习·数学建模