shell基础--练习集

it2023-09-30  68

1、编写脚本 systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址, 操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 2、编写脚本 backup.sh,可实现每日将/etc/目录备份到/backup/etcYYYYmm-dd中 3、编写脚本 disk.sh,显示当前硬盘分区中空间利用率最大的值 4、编写脚本 links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数, 并按连接数从大到小排序 1、编写脚本 sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的 UID之和

UID1=`cat /etc/passwd|sed -n '10p'|cut -d: -f 3` UID2=`cat /etc/passwd|sed -n '20p'|cut -d: -f 3` sumid=$[UID1+UID2] echo $sumid

2、编写脚本 sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个 文件中所有空白行之和

cat /root/shiyan|grep -c "^[[:space:]]*$" 或者 grep '^$' /root/{文件1,文件2}|wc

3、编写脚本 sumfile.sh,统计/etc, /var, /usr 目录中共有多少个一级子目录和 文件

find /etc/ /usr/ /var/ -type d -maxdepth 1|wc -l

1、编写脚本 argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1, 则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则 显示第一个参数所指向的文件中的空白行数 2、编写脚本 hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连 通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提 示用户“该IP地址不可访问”

read -p "plesae a ip: " IP ping -c1 $IP >& /dev/null if [[ `echo $?` == 0 ]];then echo "yes!!" exit else echo "no" fi

3、编写脚本 checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%, 就发广播警告空间将满 4、编写脚本 per.sh,判断当前用户对指定参数文件,是否不可读并且不可写 5、编写脚本 excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添 加所有人可执行权限,否则提示用户非脚本文件

find /date/shell/sh.practice/ -type f -name "*sh" [[ $1 =~ \.sh$ ]] && [[ -f $1 ]] || { echo -e "\e[1;35m该文件非脚本文件 \e[0m" ; exit; } chmod +x $1

6、编写脚本 nologin.sh和 login.sh,实现禁止和允许普通用户登录系统 nologin.sh

#!/bin/bash echo -e "YOU WILL OPEN NOLOGIN,PLEASE WAIT " [ -a /etc/nologin ] && exit || touch /etc/nologin echo -e "\e[1;35mdone!!!\e[0m"

login.sh

#!/bin/bash [ -e /etc/nologin ] && `rm -f /etc/nologin` || echo -e "\e[1;35mnow,you can login \e[0m"

if实战 1、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息 2、编写脚本 yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息 3、编写脚本 filetype.sh,判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型) 4、编写脚本 checkint.sh,判断用户输入的参数是否为正整数

1、让所有用户的PATH环境变量的值多出一个路径,例如: /usr/local/apache/bin

/home/*/.bash_profile

2、用户 root 登录时,将命令指示符变成红色(31号),并自动启用如下别名: rm=‘rm –i’ cdnet=‘cd /etc/sysconfig/network-scripts/’ editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’ editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 或 ifcfg-ens33 ’ (如果系统是CentOS7) 3、任意用户登录系统时,显示红色字体的警示提醒信息“Hi,dangerous!”

在/etc/profile.d/env.sh 中添加 echo -e "\e[1;31mHi,dangerous ! \e[0m"

4、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等 5、编写用户的环境初始化脚本reset.sh,包括别名,登录提示符,vim的设置, 环境变量等

最新回复(0)