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)

相关推荐
wbs_scy2 分钟前
C++:二叉搜索树(BST)完全指南(从概念原理、核心操作到底层实现)
数据结构·算法
东华万里3 分钟前
Release 版本禁用 assert:NDEBUG 的底层逻辑与效率优化
java·jvm·算法
liulilittle10 分钟前
C++ CRTP 替代虚函数
数据结构·c++·算法
好奇龙猫12 分钟前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(30):第8科
学习
汤姆yu14 分钟前
基于微信小程序的驾校预约与学习系统
学习·小程序·驾校预约
电摇小人15 分钟前
莫比乌斯反演详细解说来啦!!!
数据结构·算法
车载测试工程师22 分钟前
CAPL学习-SOME/IP交互层-TCP处理类函数
学习·tcp/ip·以太网·capl·canoe
Hui Baby29 分钟前
LSM 原理、实现及与 B+ 树的核心区别
java·linux·算法
德迅云安全—珍珍40 分钟前
主机安全-德迅卫士
linux·服务器·安全
爬山算法1 小时前
Netty(13)Netty中的事件和回调机制
java·前端·算法