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)

相关推荐
dustcell.2 分钟前
高级课前复习2--RHCSA
linux·运维·服务器
胖少年5 分钟前
Ubuntu 24.04 LTS apt autoremove 误删依赖致程序崩溃 解决与预防笔记
linux·笔记·ubuntu
Shea的笔记本7 分钟前
MindSpore实战笔记:Pix2Pix图像转换复现全记录
笔记·算法·机器学习·web3
Yeats_Liao10 分钟前
长文本优化:KV Cache机制与显存占用平衡策略
人工智能·深度学习·学习·机器学习·华为
清酒难咽10 分钟前
算法案例之蛮力法
c++·经验分享·算法
解局易否结局11 分钟前
学习Flutter for OpenHarmony的前置 Dart 语言:基础语法实战笔记(上)
笔记·学习·flutter
想逃离铁厂的老铁18 分钟前
Day50 >> 98、可达路径 + 广度优先搜索理论基础
算法·深度优先·图论
Controller-Inversion21 分钟前
k8s服务部署相关问题
linux·容器·kubernetes
梁洪飞21 分钟前
使用rockchip sdk提供的uboot调通网络
linux·网络·arm开发·嵌入式硬件·arm
散峰而望22 分钟前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github