Week9’s homework

Week9's homework

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

#!/bin/bash
#
for i in $(cat /etc/passwd | cut -d: -f7);do
    if [ $i == "/sbin/nologin" ];then
        let nologin+=1
    else
        let login+=1
    fi
done
 
echo "nologin:$nologin."
echo "login:$login."

2、写一个脚本
(1) 获取当前主机的主机名,保存于hostname变量中。
(2) 判断此变量的值是否为localhost,如果是,则将当前主机名修改为:www.magedu.com
(3) 否则,则显示当前主机名。

#!/bin/bash
#
hostName=$(hostname)
 
if [ ${hostName} == "localhost" ];then
    hostname www.magedu.com
else 
    hostname
fi

3、写一个脚本,完成如下功能
(1) 传递一个磁盘设备文件路径给脚本,判断此设备是否存在。
(2) 如果存在,则显示此设备上的所有分区信息。

#!/bin/bash
#
[ $# -ne 1 ] && echo "You should give only one dev file path." && exit 1
 
if [ -b $1 ];then
    fdisk -l $1
else
    echo "The dev file path is not exist."
fi


4、写一个脚本,完成如下功能
脚本能够接受一个参数。
(1) 如果参数1为quit,则显示退出脚本,并执行正常退出。
(2) 如果参数1为yes,则显示继续执行脚本。
(3) 否则,参数1为其它任意值,均执行非正常退出。

#!/bin/bash
#
[ $# -ne 1 ] && echo "You should give only one parameter." && exit 2
 
case $1 in
quit)
    echo "Normal exit."
    exit 0
    ;;
yes)
    echo "Processing is continued."
    ;;
*)
    echo "Unnormal exit."
    exit 3
    ;;
esac


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
#
[ $# -ne 1 ] && echo "You should give only one parameter." && exit 1
 
mkdir /backups &>/dev/null
case $1 in
gzip)
    tar -zcf /backups/etc-`date +%Y%m%d`.tar.gz /etc
    ;;
bzip2)
    tar -jcf /backups/etc-`date +%Y%m%d`.tar.bz2 /etc
    ;;
xz)
    tar -Jcf /backups/etc-`date +%Y%m%d`.tar.xz /etc
    ;;
*)
    echo "No such compression tool."
    exit 1
    ;;
esac

6、写一个脚本,接受一个路径参数:
(1) 如果为普通文件,则说明其可被正常访问。
(2) 如果是目录文件,则说明可对其使用cd命令。
(3) 如果为符号链接文件,则说明是个访问路径。
(4) 其它为无法判断。

#!/bin/bash
#
[ $# -ne 1 ] && echo "You should give only one parameter." && exit 1
 
 
if [ -f $1 ];then
    echo "$1 is a common file,it's accessible."
elif [ -d $1 ];then
    echo "$1 is a directory,you can use cd command."
elif [ -l $1 ];then 
    echo "$1 is a sysbolic link."
else
    echo "$1 is unknown." 
fi

7、写一个脚本,取得当前主机的主机名,判断
(1) 如果主机名为空或为localhost,或为"(none)",则将其命名为mail.magedu.com
(2) 否则,显示现有的主机名即可。

#!/bin/bash
#
name=$(hostname)
 
if [ $name == "localhost" -o $name == " " ];then
    hostname mail.magedu.com
else
    echo $name
fi

8、写一脚本,接受一个用户名为参数。
(1) 如果用户的id号为0,则显示其为管理员。
(2) 如果用户的id号大于0且小于500, 则显示其为系统用户。

#!/binbash
#
[ $# -ne 1 ] && echo "You should give only one parameter." && exit 1
 
if [ $(id -u $1) &>/dev/null -eq 0 ];then
    echo "$1 is system administrator."
elif [ $(id -u $1) &>/dev/null -lt 500 ];then
    echo "$1 is a system user."
fi

原创文章,作者:N24_lantian,如若转载,请注明出处:http://www.178linux.com/64614

(0)
N24_lantianN24_lantian
上一篇 2016-12-24
下一篇 2016-12-24

相关推荐

  • gawk

    简介     AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自…

    Linux干货 2016-03-25
  • 字符切割和用户管理

    1、列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则只显示一次 who |cut -d’ ‘ -f1 |sort -u2、取出最后登录到当前系统的用户的相关信息。 last |head -1|cut -d’ ‘ -f1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cut…

    2017-12-17
  • 第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 一次通信加密过程: 发送方: 1.使用单向加密算法提取生成数据特征码; 2.使用自己的私钥加密特征码附加在数据后面; 3.生成用于对称加密的临时密钥; 4.用此临时密钥加密数据和已经使用私钥加密后的特征码; 5.使用接受方的公钥加密此临时密钥,附加在对称密钥后的数据后方; 接受方: 1.使用自己的私钥解密加密的…

    2017-10-02
  • 马哥教育网络班19期+第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS主机按以下顺序启动 (1)POST     加电自检         (2)BIOS    &nbsp…

    Linux干货 2016-07-07
  • 学习宣言

    我是喻成,我参加了马帮第22期的linux运维网络班,于2016年8月开始跟随马哥学习linux, 我的学习宣言是:要享受学习的每一刻,我思故我在。

    Linux干货 2016-08-15
  • 文件的查找命令 find 和 locate

    文件的查找命令 find 和 locate find 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具…

    Linux干货 2016-08-16

评论列表(1条)

  • 马哥教育
    马哥教育 2017-01-04 16:15

    写的很棒,看得出来下了很大的功夫,可以作为范文来展示,希望可以再接再厉