【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

用 C/C++构造一个简单的 shell-选做任务

完整实验内容看https://blog.csdn.net/guansheng123/article/details/123127925?spm=1001.2014.3001.5501

一、任何你想实现的其他命令-touch命令

sh_touch 文件: 这个文件用来修改文件或者目录的时间属性,包括存取时间和更改时
间。若文件不存在,系统会建立一个新的文件。
语 法 : touch [-acfm][-d< 日 期 时 间 >][-r< 参 考 文 件 或 目 录 >] [-t< 日 期 时
间>][–help][–version][文件或目录…]
参数说明:
-a 改变档案的读取时间记录。
-m 改变档案的修改时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
采用一个静态布尔型变量函数, static bool mytouch(),参数*file。 判断参数的值, 确定要改
变的时间类型。 使用了头文件#include <sys/stat.h>中的函数, utimensat 和 futimens 是以纳秒级
的精度改变文件的 时间戳,而 utime 和 utimes 是以微妙为时间精度的。
【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

二、提供友好的人机界面:例如提供命令列表、命令查询、命令帮助等。

1、sh_list.c 文件: 这个文件用来提供命令列表

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

2、提供命令查询history

写在 3374_mysh.c 文件里, 使用一个 hist[]数组保存历史命令。

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

3、sh_man.c 文件: 这个文件用来提供命令帮助

使用字符串匹配的方法, 用 argc 作为传递参数, 输入 man [命令], 打印出来对应的帮
助信息。
【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

二、运行结果

touch 命令

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

命令列表——list 命令

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

命令查询——History 命令

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

命令帮助——man 命令

【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell

上一篇:MySQL基本数据类型


下一篇:Hive结合shell脚本企业实战用法