第九周博客作业

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)
上一篇 2017-06-06 15:10
下一篇 2017-06-06 16:58

相关推荐

  • 马哥网络教育班第21期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@CentOS6 ~]# cp -r /etc/skel /home/tuser1 [root@CentOS6 ~]# chmod&nb…

    Linux干货 2016-07-29
  • http服务之二

    httpd http协议: http事务:    请求:request    响应:response 报文语法格式: request报文 <method> <request-URL> <version>     <he…

    Linux干货 2016-10-21
  • linux启动流程

    linux组成 Linux: kernel+rootfskernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc库:函数集合, function, 调用接口(头文件负责描述)过程调用:procedure,无返回值函数调用:function程序:二进制执行文件 内核设计流派:单内核(monolithic ker…

    2018-01-01
  • linux 下的文件压缩与解压

    文件压缩 压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 目的:时间换空间,cpu时间–>空间 压缩文件工具:    compress|uncompress 压缩后的文件.z    gzip|gunzip  …

    Linux干货 2016-08-21
  • HA Cluster 之 vrrp (keepalived)

      HA Cluster 之 vrrp (keepalived) 0x00 前言 0x01 VRRP 协议 VRRP 简介 VRRP 工作原理 VRRP负载分担方式的特点 VRRP 中的一些术语 0x02 keepalived 功用: 0x03 keepalived 配置 HA Cluster 的配置前提: 配置文件组件部分: 配置文件解析: 附:…

    Linux干货 2017-05-16
  • 第三次作业

    第三次作业 一、软链接与硬链接的区别    硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。 硬链接可由命令 link 或 ln 创建,如: 1 2 #link oldfile newfile  #ln oldfile newfile   由于硬链接是有着相同 i…

    Linux干货 2016-08-03

评论列表(1条)

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

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