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

相关推荐

  • PXE实践

    本篇只以记录个人部署pxe过程中所遇问题,至于原理,只做部分简单说明。 pxe部署必要软件: syslinux (用于提供引导中所必备文件) tftp(用于提供存放vmlinuz,initrd,syslinux.0等引导类文件) dhcp(用于自动获取IP包括指明去哪个主机获取syslinux.0文件) 最后还需要一个web或者ftp服务,已提供系统安装中所…

    Linux干货 2017-02-05
  • linux路由转发(软路由)实验

        一。实验网络拓扑             (R1,R2由 Linux 虚拟机添加双网卡做软路由实现)              &n…

    Linux干货 2016-09-05
  • N21沉舟-第八周作业

    1、  请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 #网桥:链接层设备,基于MAC地址过滤。 #集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。 #二层交换机:工作在数据链路层,基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。…

    Linux干货 2016-08-24
  • VIM编辑器入门

    VIM简介 VIM是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 VIM的使用 在介绍基本使用前,先了解下VIM的基本模式 基本模式可分为三种:命令模式、输入模式、末行模式 命令模式:Vim启动后的默认模式,通过输入指令完成对应的编辑操作。输入模式和末行模式从命令模式进入&nb…

    Linux干货 2016-04-05
  • SELinux详解及其优缺点

    SELinux简介:        SELinux:Secure Enahanced Linux 安全增强的Linux SELinux是2.6版本的Linux内核中提供的强制访问控制(MAC)系统。对于目前可用的Linux安全模块来说,SELinux是功能最全面,而且测试最充分的…

    Linux干货 2017-05-21
  • linux用户权限管理

       在linux文件系统中使用ls -l命令可以查看文件的属性,但是我们明白其中属性各自代表的意思吗?下面我们就来看一看,这其中的奥义。。。 文件属性 使用ls命令查看文件,可以发现列表分为几个部分,各自所代表的意义如图所示: 文件属性操作     chown 设置文件的所有者  &nb…

    Linux干货 2016-08-04