Linux Sysadmin–part3

1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现

#!/bin/bash

for i in `cut -d’:’ -f7 /etc/passwd`;do

if [ $i == “/sbin/nologin” ];then

let x++

else

let y++

fi

done

echo “nologin user number: $x”

echo “login user number: $y”

2、写一个脚本

(1) 获取当前主机的主机名,保存于hostname变量中;

(2) 判断此变量的值是否为localhost,如果是,则将当前主机名修改为www.magedu.com;

(3) 否则,则显示当前主机名;

#!/bin/bash

hostname=$(hostname)

if [[ $hostname == “localhost” ]];then

hostname www.magedu.com

else

echo “$hostname”

fi

3、写一个脚本,完成如下功能

(1) 传递一个磁盘设备文件路径给脚本,判断此设备是否存在;

(2) 如果存在,则显示此设备上的所有分区信息

#!/bin/bash

if [ -b $1 ];then

fdisk -l $1

else

echo “$1 is not Block device file”

fi

4、写一个脚本,完成如下功能

脚本能够接受一个参数;

(1) 如果参数1为quit,则显示退出脚本,并执行正常退出;

(2) 如果参数1为yes,则显示继续执行脚本;

(3) 否则,参数1为其它任意值,均执行非正常退出

#!/bin/bash

while true;do

read -p “please input yes|quit|other character string: ” word

case $word in

quit)

exit 0

;;

yes)

continue

;;

*)

echo “Wrong”

exit 2

;;

esac

done

5、写一个脚本,完成如下功能

传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;

(1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz;

(2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2;

(3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz;

(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;

#!/bin/bash

#description:

#date:

#Author:

mkdir -pv /backups

while true;do

read -p “please input gzip|bzip2|xz character string: ” word

case $word in

gzip)

tar -zcPf /backups/etc-`date +%Y%m%d`.tar.gz /etc

;;

bzip2)

tar -jcPf /backups/etc-`date +%Y%m%d`.tar.bz2 /etc

;;

xz)

tar -JcPf /backups/etc-`date +%Y%m%d`.tar.xz /etc

;;

*)

echo “Wrong”

exit 2

;;

esac

done

###当带-P 参数时,压缩包中的路径使用绝对路径方式,而没有-P 参数会自动删除前缀的根符号,也就是本文开头的提示信息###

6、写一个脚本,接受一个路径参数:

(1) 如果为普通文件,则说明其可被正常访问;

(2) 如果是目录文件,则说明可对其使用cd命令;

(3) 如果为符号链接文件,则说明是个访问路径;

(4) 其它为无法判断;

#!/bin/bash

if [ -f $1 ];then

echo “$1 is regular file”

elif [ -d $i ];then

echo “$1 is directory file and can use cd command”

elif [ -h $i ];then

echo “$1 is symbolic links file ”

else

echo “cannot tell”

fi

7、写一个脚本,取得当前主机的主机名,判断

(1) 如果主机名为空或为localhost,或为”(none)”,则将其命名为mail.magedu.com

#!/bin/bash

#description:

#date:

#Author:

hostname=$(hostname)

if [ -z $hostname -o $hostname == “localhost” -o $hostname == “none” ];then

hostname mail.magedu.com

fi

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87431

(0)
N27_ronnyN27_ronny
上一篇 2017-09-19 16:17
下一篇 2017-09-20 00:03

相关推荐

  • cat命令了解

    1 查看文件在LINUX下一切皆文件,光看见文件名和目录名对我们来说,还远远不够。今天,就来介绍一下可以打开文件的命令cat。当然,二进制的可执行文件,不能用cat。在CentOS7下,以/etc/profile文件为例,如下: 首先,怎么打开这个文件呢?直接执行:cat /etc/passwd. 这么多行,能不能看见行号呢?cat -n /etc/pass…

    Linux干货 2017-04-03
  • 第一篇

     新的征程又开始了,努力吧!

    Linux干货 2016-12-26
  • grep正则表达式

    grep:这是一个搜索命令,搜文本并且将文本行显示出来 (1)grep -i 表示搜索的时候忽略大小写 (2)grep –colour 表示搜索关键字带颜色 例如:grep –colour ‘root’ /etc/passwd 显示为在etc的passwd里的 root 选项有颜色 *为了方便我们可以定义个别名,让他搜索的时候默认显示为带颜色 alias…

    Linux干货 2017-07-29
  • lvs集群学习笔记之原理

    lvs集群学习笔记之原理 lvs集群学习笔记之原理 集群 负载均衡 lvs 原理 lvs集群学习笔记之原理 什么是集群 什么是负载均衡 负载均衡解决方案 lvs简介 lvs内核空间模型 lvs特点 lvs实现方式 lvs实现方式之nat模型 lvs实现方式之dr lvs实现方式之tun lvs实现方式之FULLNAT lvs之算法 静态算法   &…

    Linux干货 2017-01-03
  • 了解 linux

    计算机组成     CPU  ——> central processing unit, 运算器&控制器             主要工作管理和运算;   &…

    Linux干货 2016-09-17
  • 企业实时同步方案—-Rsync+Sersync

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1433623     在博文企业实时同步方案—-Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及…

    Linux干货 2015-03-30