第九周博客作业

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

#!/bin/bash

declare -i sum=0
declare -i sum_nologin=0

for i in $(cut -d: -f7 /etc/passwd);do
    if [ "$i" == "/sbin/nologin" ];then
        let sum_nologin++
    else
        let sum++
    fi
done

echo "Total user shell was '/sbin/nologin':$sum_nologin"
echo "Total user shell was not '/sbin/nologin' : $sum"

2、写一个脚本

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

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

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

#!/bin/bash

HOSTNAME=$(hostname)

if [ "$HOSTNAME" == "localhost" ];then
    hostname "www.magedu.com"
    echo "hostname already change to www.magedu.com"
else
    hostname
fi

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

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

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

#!/bin/bash

if [ $# -lt 1 ];then
    echo "Please input a disk path"
    exit 1
fi

if [ -b $1 ];then
    fdisk -l $1
else
    echo "No such partitions"
fi

4、写一个脚本,完成如下功能脚本能够接受一个参数;

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

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

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

#!/bin/bash

choose_yes () {
    read -p "Please choose one word (yes,quit or other word):" word
    choice
}

choice () {
    case $word in
        quit)
            echo "Exit the script"
            exit 2 ;;
        yes)
            echo "continue to excute the script"
            choose_yes ;;
        *)
            exit 3 ;;
esac
} 

choose_yes

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

if [ $# -lt 1 ]; then
    echo "Usage:please enter a kind of compression method(gzip|bzip2|xz)"
    exit 1
fi

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 2 ;;
esac

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

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

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

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

(4) 其它为无法判断

#!/bin/bash

if [ $# -lt 1 ]; then
    echo "Pleae enter a path."
    exit 1
fi

if [ -f $1 ]; then
    echo "You can visit it"
elif [ -d $1 ]; then
    echo "You can use 'cd' command"
elif [ -l $1 ]; then
    echo "It's a access path"
else
    echo "can't judge the path"
fi

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

#!/bin/bash

HOSTNAME=$(hostname)

[ -z HOSTNAME -o "$HOSTNAME" == "localhost" -o "$HOSTNAME" == "(none)" ] && hostname mail.magedu.com && echo "hostname already changed"

echo "The hostname is $(hostname)"

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

(0)
N25_PierceN25_Pierce
上一篇 2017-06-06
下一篇 2017-06-06

相关推荐

  • 系统自动化安装

    本章内容 系统安装过程配置anaconda自动化安装系统 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系统安装程序 tui: 基于图形库curses的文本窗口 gui:图形窗口 安装程序启动过程 MBR…

    Linux干货 2016-09-19
  • class-7 积累应用

    1、当天课程内容笔记 2、当天练习 3、预习 4、取本机ip地址 [root@6 ~]#  ip addr|egrep -o '(\b([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\b\.)(\b([1-9]|[1-9][0-9]|1[0-…

    Linux干货 2016-08-08
  • sed用法预习总结

    SED用法sed:Stream EDitor    行编辑器 sed:模式空间     默认不编辑原文件,仅对模式空间的数据做处理,将处理后的结果输出至屏幕 sed [options] 'AdressCommand' file…   &n…

    Linux干货 2016-08-10
  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • Linux用户和组命令

                        groupadd命令用户和工作组管理 groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。-g:指定新建工作组的id;  -r:创建系统工作组,系统工作组的组ID小于500; -K:…

    2016-02-09
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理命令有哪些?其常用的使用方法及相关示例演示。 答: cp 复制、 mv 移动、rm 删除 (1)cp :复制文件或目录         用法:    cp [OPTION]… [-T] SOURCE DEST    cp [OPTI…

    Linux干货 2016-06-16

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 10:00

    写的很棒,希望可以再接再厉,继续保持