N27_网络班第九周作业

N27_网络班第九周作业

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
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
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
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
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
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
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运维部落立场,如若转载,请注明出处:http://www.178linux.com/87719

(0)
N27_flypigN27_flypig
上一篇 2017-10-10
下一篇 2017-10-10

相关推荐

  • Linux下LVM

    LVM(Logic Volume Management,逻辑卷管理         由多个块设备(pv,卷)组成一个逻辑卷组(vg),接着在逻辑组上创建逻辑卷(lv),实现在线缩减逻辑卷与逻辑卷组。 实验:     1、VM虚拟机添加硬盘:…

    Linux干货 2016-06-09
  • 计算机的组成及其功能

    1.计算机的组成及其功能 1.1计算机的硬件基本结构 从ENIAC到当前最先进的计算机都采用的是冯·诺依曼体系结构分别是:控制器,运算器,存储器,输入与输出设备 控制器:将指令逐条从存储器中取出,经译码分析后向全机发出相应         的操作控制信号作用于其他部件,使各部件有…

    Linux干货 2016-10-28
  • 网卡别名与bonding

    网络接口配置-bonding Bonding简介 Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高 可用或者负载均衡。然,直接给两块网卡设置同一IP地址 是不可能的。通过bonding,虚拟一块网卡对外提供连接, 物理网卡的被修改为相同的MAC地址。 Bonding模式 Mode 0 (balance-rr) 轮转(Round-robi…

    Linux干货 2016-09-05
  • linux进程和计划任务

    内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 进程管理:     系统优先级:数字越小,优先级越高    实时优先级: 99-0,值最大优先级最高    nice值:-20 到19 ,对应系统优先级100-139或99 Linux 内核:抢占式多任务  &nb…

    Linux干货 2017-03-23
  • 让运维工程师不再蓝瘦、香菇

    最近广西一小哥失恋后录的视频风靡互联网,也让“蓝瘦、香菇”这两个词火了一把。虽然原故事男主角是因为失恋才蓝瘦、香菇,但想想作为运维“狗”的我们也时常因强大的工作压力而蓝瘦,常常在晚上睡得香呼呼的时候因为要处理故障从温暖的被窝爬起来,看着铝朋友鄙视的眼神,真的好香菇……本来作为技术大牛的我们,工作应该是很酷的事情,享受的应该是小白美铝们崇拜的眼神,可现在却那么…

    系统运维 2017-01-09
  • 往期学员优秀博客范文,供大家参考结构框架和基本格式要求。

    http://123.57.218.140/16152http://123.57.218.140/15668http://123.57.218.140/9255http://123.57.218.140/16666

    Linux干货 2016-11-28