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)

相关推荐
sulikey14 小时前
操作系统磁盘 I/O:为何选择“块“而非“扇区“?
linux·操作系统·io·磁盘·磁盘io
一个人旅程~14 小时前
如何永久关闭bitlocker并防止出现更新后被强制加密?
linux·windows·经验分享·电脑
Asa1213814 小时前
Nature Microbiology|跨微生物界菌株水平传播推断的新算法TRACS
算法
爱喝水的鱼丶14 小时前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第三篇:ADT常用开发插件与个性化配置教程
数据库·学习·sap·abap
源远流长jerry14 小时前
TCP 三次握手深度解析:从内核源码到生产实践
linux·运维·网络·网络协议·tcp/ip
叼烟扛炮14 小时前
C++ 知识点22 函数模板
开发语言·c++·算法·函数模版
GHL28427109014 小时前
python通过API调用Coze智能体学习
学习·ai
Tisfy14 小时前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模
平行侠14 小时前
33水库抽样 - 从未知大小的流中等概率采样
数据结构·算法
Jackyzhe14 小时前
从零学习Kafka:生产者压缩
分布式·学习·kafka