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 09:24
下一篇 2017-10-10 11:48

相关推荐

  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • 文本处理工具

    分页查看文件内容 less和more命令介绍 分页查看文件内容:less和more less:一页一页地查看文件或STDIN输出   # less FILE less的快捷键:     Ctrl+u:向上翻半屏     Ctrl+d:向下翻…

    Linux干货 2016-08-07
  • DNS介绍及资源记录

    DNS查询 第一段:主机到运营商的DNS服务器(递归) 第二段:运营商的DNS再去解析(根域名服务器/),在一层一层的查找(迭代) DNS名称解析方式:名称–>IP,IP–>名称 注意:二者的名称空间非同一个空间,即不是一个数据库; 域: www.magedu.com. ftp.magedu.com. bbs.magedu…

    Linux干货 2017-02-12
  • 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及共用规定。

    Linux干货 2017-12-03
  • Linux系统程序包管理之RPM

    rpm包概述 RPM 是 Red at Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理工具;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。 RPM包里面都包含什么?里面包含可执行的二进制程序,…

    Linux干货 2016-08-24