8.1 先测试“/etc/vsftpd”、“/etc/hosts”是否为目录,并通过“$?”变量查看返回状态值,据此判断测试结果。
8.2 测试“/media/cdrom/Server”及其父目录是否存在,如果存在则显示“YES”,否则不输出任何信息。
8.3 使用普通用户teacher登录,并测试是否对“/etc/passwd”文件有读、写权限,如果是则显示“YES”。
8.4 测试当前登录到系统中的用户数量是否小于或等于10,是则输出“YES”。
8.5 提取出“/boot”分区的磁盘使用率,并判断是否超过95%(为了便于理解,操作步骤以适当进行分解)。
8.6 提示用户输入一个文件路径,并判断是否是“/etc/inittab”,如果{{{密码回复可见}}}是则显示“YES”。
8.7 若当前环境变量LANG的内容不是“en.US”,则输出LANG变量的值,否则无输出。
8.8 使用touch命令建立一个新文件,测试其内容是否为空,向文件中写入内容后,再次进行测试。
8.9 测试当前的用户是否是teacher,若不是则提示“Not teacher”。
8.10 只要“/etc/rc.d/rc.local”或者“/etc/init.d/rc.local”中有一个是文件,则显示“YES”,否则无任何输出。
8.11 测试“/etc/profile” 文件是否有可执行权限,若确实没有可执行权限,则提示“No x mode.”的信息。
8.12 若当前的用户是root且使用的shell程序是“/bin/bash”, 则显示“YES”,否则无任何输出。
8.13 检查“/var/log/messages”文件是否存在,若存在则统计文件内容的行数并输出,否则不做任何操作(合理使用变量,可以提高编写效率)。
[root@localhost ~]# sh chklog.sh
1005 /var/log/messages
8.14 提示用户指定备份目录的路径,若目录已存在则显示提示信息后跳过,否则显示相应提示信息后创建该目录。
8.15 统计当前登录到系统中的用户数量,并判断是否超过三个,若是则显示实际数量并给出警告信息,否则列出登录的用户账号名称及所在终端。
8.16 检查portmap进程是否已经存在,若已经存在则输出“portmap service if running.” ;否则检查是否存在“/etc/rc.d/init.d/portmap” 可执行脚本,存在则启动portmap服务,否则提示“no portmap script file.”。
8.17 每隔五分钟监测一次mysqld服务进程的运行状态,若发现mysqld进程已终止,则在“/var/log/messages”文件中追加写入日志信息(包括当时时间),并重启mysqld服务;否则不进行任何操作。
8.18 依次输出三条文字信息,包括一天中的“Moring”、“Noon”、“Evening”字串。
8.19 对于使用“/bin/bash”作为登录shell的系统用户,检查他们在“/opt”目录中拥有的子目录或文件数量,如果超过100个,则列出具体数值及对应的用户账号。
8.20 计算“/etc”目录中所有“*.conf”形式的配置文件所占用的总空间大小。
8.21 由用户从键盘输入一个大于1的整数(如50),并计算从1到该数之间各整数的和。
8.22 批量添加20个系统用户账号,用户名称依次为“stu1”、“stu2”、“stu3”、……“stu20”,各用户的初始密码均设置为“123456”。
8.23 编写一个批量删除用户的脚本程序,将上例中添加的20个用户删除。
8.24 由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,并输出相应的提示信息。
8.25 编写一个shell程序,计算多个整数值的和,需要计算的各个数值由用户在执行脚本时作为命令行参数给出。
8.26 循环提示用户输入字符串,并将每次输入的内容保存到临时文件“/tmp/input.txt”中,当用户输入“END”字符串时退出循环体,并统计出
8.27 删除系统中的stu1~stu20各用户账号,但stu8、stu18除外。
8.28 在脚本中定义一个help函数,当用户输入的脚本参数不是“start”或“stop”时,加载该函数并给出关于命令用法的帮助信息,否则给出对应的提示信息。
8.29 在脚本中定义一个加法函数,用于计算两个数的和,并调用该函数分别计算12+34、56+789的和。
8.2 测试“/media/cdrom/Server”及其父目录是否存在,如果存在则显示“YES”,否则不输出任何信息。
8.3 使用普通用户teacher登录,并测试是否对“/etc/passwd”文件有读、写权限,如果是则显示“YES”。
8.4 测试当前登录到系统中的用户数量是否小于或等于10,是则输出“YES”。
8.5 提取出“/boot”分区的磁盘使用率,并判断是否超过95%(为了便于理解,操作步骤以适当进行分解)。
8.6 提示用户输入一个文件路径,并判断是否是“/etc/inittab”,如果{{{密码回复可见}}}是则显示“YES”。
8.7 若当前环境变量LANG的内容不是“en.US”,则输出LANG变量的值,否则无输出。
8.8 使用touch命令建立一个新文件,测试其内容是否为空,向文件中写入内容后,再次进行测试。
8.9 测试当前的用户是否是teacher,若不是则提示“Not teacher”。
8.10 只要“/etc/rc.d/rc.local”或者“/etc/init.d/rc.local”中有一个是文件,则显示“YES”,否则无任何输出。
8.11 测试“/etc/profile” 文件是否有可执行权限,若确实没有可执行权限,则提示“No x mode.”的信息。
8.12 若当前的用户是root且使用的shell程序是“/bin/bash”, 则显示“YES”,否则无任何输出。
8.13 检查“/var/log/messages”文件是否存在,若存在则统计文件内容的行数并输出,否则不做任何操作(合理使用变量,可以提高编写效率)。
[root@localhost ~]# sh chklog.sh
1005 /var/log/messages
8.14 提示用户指定备份目录的路径,若目录已存在则显示提示信息后跳过,否则显示相应提示信息后创建该目录。
8.15 统计当前登录到系统中的用户数量,并判断是否超过三个,若是则显示实际数量并给出警告信息,否则列出登录的用户账号名称及所在终端。
8.16 检查portmap进程是否已经存在,若已经存在则输出“portmap service if running.” ;否则检查是否存在“/etc/rc.d/init.d/portmap” 可执行脚本,存在则启动portmap服务,否则提示“no portmap script file.”。
8.17 每隔五分钟监测一次mysqld服务进程的运行状态,若发现mysqld进程已终止,则在“/var/log/messages”文件中追加写入日志信息(包括当时时间),并重启mysqld服务;否则不进行任何操作。
8.18 依次输出三条文字信息,包括一天中的“Moring”、“Noon”、“Evening”字串。
8.19 对于使用“/bin/bash”作为登录shell的系统用户,检查他们在“/opt”目录中拥有的子目录或文件数量,如果超过100个,则列出具体数值及对应的用户账号。
8.20 计算“/etc”目录中所有“*.conf”形式的配置文件所占用的总空间大小。
8.21 由用户从键盘输入一个大于1的整数(如50),并计算从1到该数之间各整数的和。
8.22 批量添加20个系统用户账号,用户名称依次为“stu1”、“stu2”、“stu3”、……“stu20”,各用户的初始密码均设置为“123456”。
8.23 编写一个批量删除用户的脚本程序,将上例中添加的20个用户删除。
8.24 由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符,并输出相应的提示信息。
8.25 编写一个shell程序,计算多个整数值的和,需要计算的各个数值由用户在执行脚本时作为命令行参数给出。
8.26 循环提示用户输入字符串,并将每次输入的内容保存到临时文件“/tmp/input.txt”中,当用户输入“END”字符串时退出循环体,并统计出
8.27 删除系统中的stu1~stu20各用户账号,但stu8、stu18除外。
8.28 在脚本中定义一个help函数,当用户输入的脚本参数不是“start”或“stop”时,加载该函数并给出关于命令用法的帮助信息,否则给出对应的提示信息。
8.29 在脚本中定义一个加法函数,用于计算两个数的和,并调用该函数分别计算12+34、56+789的和。
编辑回复