一、 (1)创建一个别名文件:(bash)示范文件myenv,内容如下: 清屏 屏幕上显示 “Hello!” 显示当前日期 (2)用chmod命令使文件myenv变为可执行,并执行之。 二、编写程序输入一个数,将输入的数+10后输出,将其运行结果重定向到文件f1,查看并记录f1的内容。 三、 (1)设计一个shell程序,添加一个新组为,组名为姓名简称,然后添加属于这个组的10个用户,用户名的形式为stuxx,其中xx从01到10。 (2)编写shell程序,实现自动删除10个账号的功能。账号名为stu01至stu10。 四、编写脚本check,判断输入参数的文件属性,如果输入的是路径,则显示路径下所有内容;如果是文件,显示“xxx is a file”;否则显示“xxx is not a directory or a file.” 在本次Linux操作系统与Shell程序设计的实验中,我们主要学习了如何使用Bash shell编写脚本,以及如何通过shell命令实现系统级别的操作。实验涵盖了别名文件创建、基本的算术运算、用户与组管理、文件属性判断等多个方面,旨在提升学生对Linux系统的理解和Shell编程技能。 创建别名文件`myenv`,该文件包含两个功能:清屏和显示当前日期。在Bash中,可以使用`clear`命令清屏,`echo`命令打印字符串,以及`date`命令获取当前日期。通过`chmod +x myenv`命令赋予文件执行权限,然后运行`./myenv`执行文件,即可看到效果。 编写了一个简单程序,接收用户输入的数字,将其加10后输出,并将结果重定向到文件`f1`。这涉及到了标准输入、输出重定向和基本的算术运算。可以使用`read`命令读取用户输入,`expr`命令进行算术运算,然后将结果通过`>`符号重定向到文件`f1`。通过`cat f1`查看文件内容,确认程序运行结果。 接下来,我们设计并实现了用户管理的shell程序。首先创建一个新的组,组名为用户的姓名缩写,然后向该组添加10个用户,用户名格式为`stuxx`,其中`xx`从01到10。这涉及到`groupadd`命令创建新组,`useradd`命令添加用户,并通过循环结构批量生成用户。删除用户的功能类似,使用`userdel`命令依次删除stu01至stu10。 编写了一个名为`check`的脚本,用于检查输入参数的文件属性。如果输入是路径,使用`ls`命令显示路径下的所有内容;如果输入是文件,输出"xxx is a file";否则输出"xxx is not a directory or a file."。这里运用了条件判断结构,通过`if`和`test`命令检查文件类型。 通过本次实验,我们不仅掌握了基本的Shell编程语法,如变量、命令行参数、条件判断、循环和函数,还了解到如何利用shell脚本来管理系统资源,如用户、组和文件。此外,实验过程中的调试和测试环节,锻炼了我们的问题解决能力,使我们能够独立解决在编写和执行shell脚本时遇到的问题。这次实验加深了我们对Linux系统和shell编程的理解,为我们后续深入学习Linux系统管理和自动化运维打下了坚实的基础。
- 粉丝: 229
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip