Linux教程

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

本文主要是介绍【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

  • 一、任何你想实现的其他命令-touch命令
  • 二、提供友好的人机界面:例如提供命令列表、命令查询、命令帮助等。
    • 1、sh_list.c 文件: 这个文件用来提供命令列表
    • 2、提供命令查询history
    • 3、sh_man.c 文件: 这个文件用来提供命令帮助
  • 二、运行结果
    • touch 命令
    • 命令列表——list 命令
    • 命令查询——History 命令
    • 命令帮助——man 命令

完整实验内容看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 命令

在这里插入图片描述

这篇关于【4】Linux 命令环境下 C 语言实践_用 C/C++构造一个简单的 shell的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!