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

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

相关推荐
HideF9 小时前
Linux sudo
linux
FlightYe9 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
ZhengEnCi9 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考10 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
蹊黎10 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
视觉小萌新10 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
牛马鸡niumasi11 小时前
【Linux】C语言文件操作
linux
say_fall11 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
夜不会漫长12 小时前
C++:红黑树
数据结构·算法
爱聊灵光的维C12 小时前
从看见世界到重构认知:在视觉与硬件的交汇处,寻找我们这代人的北极星
c语言·物联网·计算机视觉·重构·硬件工程·射频工程