一、 (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系统管理和自动化运维打下了坚实的基础。
- 粉丝: 232
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 指针扫描和内存遍历二合一工具
- 基于JavaScript的在线考试系统(编号:65965158)(1).zip
- 五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成
- Linux下的cursor安装包
- springboot-教务管理系统(编号:62528147).zip
- 3dmmods_倾城系列月白_by_白嫖萌新.zip
- SVPWM+死区补偿(基于电流极性)+高频注入法辨识PMSM的dq轴电感(离线辨识)-simulink
- 微信跑腿小程序的设计与实现
- 基于 Java 实现的上位机通讯程序,可与单片机进行数据交换
- screentshot-2024.12.22-20.45.35.jpg