; N27_网络班第九周作业 | Linux运维部落

N27_网络班第九周作业

N27_网络班第九周作业


1
2
3
4
5
6
7
8
9
10
1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现
#!/bin/bash
loginuser=`grep -v '/sbin/nologin' /etc/passwd | wc -l`
nologin=`grep '/sbin/nologin' /etc/passwd | wc -l`
echo "可登录的用户共$loginuser"
echo "不可登录的用户共$nologin"

[root@localhost ~]# bash bin.sh
可登录的用户共22
不可登录的用户共43

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2、写一个脚本
1)获取当前主机的主机名,保存于hostname变量中
2)判断此变量的值是否为localhost,如果是,则将当前主机名修改为www.magedu.com
3)否则,则显示当前主机名
#!/bin/bash
host=`hostname`
if (($host=="localhost"));then
hostname shoushangdezhu
else
echo $hostname
fi


[root@localhost ~]# hostname
shoushangdezhu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
3、写一个脚本,完成如下功能
1)传递一个磁盘设备文件路径给脚本,判断此设备是否存在
2)如果存在,则显示此设备上的所有分区信息
#!/bin/bash
if [ $# -lt 1 ];then
        echo "请输入磁盘文件名"
exit 1
fi

if [ -e $1 ];then
fdisk -l $1
else
echo "没有这个磁盘文件"
fi

[root@shoushangdezhu ~]# bash filename.sh /dev/sdb1

Disk /dev/sdb1: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
4、写一个脚本,完成如下功能
脚本能够接受一个参数
1)如果参数1为quit,则显示退出脚本,并执行正常退出
2)如果参数1为yes,则显示继续执行脚本
3)否则,参数1为其他任意值,均执行非正常退出
if [ $# -lt 1 ];then
echo "请输入quit/yes/。。。"
exit 1
fi
if [ "$1" == "quit" ];then
echo "quit"
exit 2
elif [ "$1" == "yes" ];then
echo "continue"
else
echo "break"
exit 3
fi

echo "lalalal"

················
[root@cjh ~]# bash a.sh
请输入quit/yes/。。。
[root@cjh ~]# bash a.sh as
break
[root@cjh ~]# bash a.sh quit
quit
[root@cjh ~]# bash a.sh yes
continue
lalalal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
5、写一个脚本,完成如下功能
传递一个参数给脚本,此参数为gzip,则使用tar和gzip、bzip2或者xz三者之一
1)如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并
命名为/backups/etc-20171008.tar.gz
2)如果参数1为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20171008.tar.bz2
3)如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backup目录中,并命名为/backups/etc-20171008.tar.xz
4)其他任意值,则显示错误压缩工具,并执行非正常退出

#!/bin/bash
if [ $# -lt 1 ];then
echo "请输入一个参数(gzip、tar、bzip2)"
exit 1
fi
day=`date +%Y%m%d`
if [ $1 == "gzip" ];then
tar -zcf /backup/$day.tar.gz /etc/
elif [ $1 == "bzip2" ];then
tar -jcf /backup/$day.tar.gz /etc/
elif [ $1 == "xz" ];then
tar -Jcf /backup/$day.tar.xz /etc/
exit 0
fi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
6、写一个脚本,接受一个路径参数
1)如果为普通文件,则说明其可被正常访问
2)如果是目录文件,则说明可对其使用cd命令
3)如果为符号链接文件,则说明是个访问路径
4)其他为无法判断
#!/bin/bash
if [ $# -lt 1 ];then
echo "请输入一个路径"
exit 0
fi

if [ -f $1 ];then
echo "这是一个普通文件可以正常访问"
elif [ -d $1 ];then
echo "这是一个目录,可以对其使用cd命令"
elif [ -L $1 ];then
echo "这是一个符号链接"
else
echo "无效路径"
exit 1
fi

1
2
3
4
5
6
7
8
9
7、写一个脚本,取得当前主机的主机名,判断
1)如果主机名为空或者为localhost,或为‘none’,则将其名命名为mail.magedu.com
#!/bin/bash
host=`hostname`
if [ $host == "localhost" -o $host == 'none'];then
hostname shoushangdezhu
else
echo $hostname
fi

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:/87719

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达主管QQ  万达注册  万达娱乐开户  万达开户  万达主管  万达招商QQ  万达招商  万达开户  万达招商  万达娱乐