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

相关推荐

  • 第三章 Linux文件系统初步

    用户界面:      可分为两种GUI和CLI         GUI(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 GNOME(英语发音:/ɡˈnoʊm/或英语发音:/…

    Linux干货 2016-06-03
  • mount中-o的选项利用

        Mount下—-o 选项的各项用处  mount-o 选项 sync,async 同步模式,异步模式(defaults)         此选项的默认模式为异步模式。在同步模式下,内存的任何修改都会实时的同步到硬盘当中,这种模式的…

    2017-08-19
  • 文件管理命令及通配符练习

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例 按增删改查的思路来 增: touch filename:这个命令本身不是用来新建文件的,它是用来修改文件的时间属性,不过默认情况时当filename不存在时,它会默认建立一个空文件 mkdir: 常用参数 -p:相当于递归创建目录 -v:显示出创建过程中的信息 cp : 常用参数 -r:…

    Linux干货 2016-11-06
  • find命令总结

    用途:     find命令用来在文件层级结构中搜索跟条件匹配的文件 语法:     find [OPTIONS] [查找起始路径] [查找条件] [处理动作]     查找起始路径:指定具体搜索起始路径。默认为当前目录  &nb…

    Linux干货 2016-09-19
  • awk基本应用

    一、何为awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk明显复杂的多也强大的多。如果虽然awk可以实现grep和sed的一些功能,但是效率却比grep和sed慢。故如非是在show,否则建议不要使用awk去实现grep或sed的功能。在linux中awk其实是gawk,gawk是免费的。这才是重点。 二、awk语法 man下…

    Linux干货 2020-08-18
  • Linux中磁盘管理与文件系统创建挂在

    磁盘管理 Linux中哲学思想:Linux一切皆文件,所有访问磁盘设备就如同访问一个文件一样,因此要想使用需要一个文件接口 如何向设备中输入数据?     首先将设备在系统上映射成一个文件,在此文件上进行读写操作就相当于对设备进行读写,对程序而言首先是打开一个文件open(),然后执行read()或者write(),最…

    Linux干货 2016-08-26