【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 是以微妙为时间精度的。
二、提供友好的人机界面:例如提供命令列表、命令查询、命令帮助等。
1、sh_list.c 文件: 这个文件用来提供命令列表
2、提供命令查询history
写在 3374_mysh.c 文件里, 使用一个 hist[]数组保存历史命令。
3、sh_man.c 文件: 这个文件用来提供命令帮助
使用字符串匹配的方法, 用 argc 作为传递参数, 输入 man [命令], 打印出来对应的帮
助信息。
二、运行结果
touch 命令
命令列表——list 命令
命令查询——History 命令
命令帮助——man 命令
标签:文件,shell,C++,列表,命令,sh,Linux,touch,man 来源: https://blog.csdn.net/guansheng123/article/details/123139871