第九周作业

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

   #!/bin/bash

    echo "可登录类型有有$(awk -F: '/[^\<nologin\>]$/{login++}END{print login}' /etc/passwd)个"

    echo "不可登录类型有$(awk -F: '/\<nologin\>$/{nologin++}END{print nologin}' /etc/passwd)个"

2、写一个脚本

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

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

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

    #!/bin/bash

    #

    hname=`hostname`

    case $hname in

    "www.magedu.com")

            hostname;;

    *)

            hostname www.magedu.com;;

    esac

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

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

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

        

    #!/bin/bash

    #

    if [ -b $1 ];then

            fdisk -l $1

    else

            echo "你输入的文件路径不存在"

    fi

~    

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

   脚本能够接受一个参数;

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

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

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

     

    #!/bin/bash

    #

    f_pro(){

    read -p "请输入一个参数" arg

    if [ $arg == "quit" ];then

            exit 0

    elif [ $arg == "yes" ];then

            f_pro

    fi

    }

    f_pro

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 "you need a arg"

            exit 1

    fi

    

    if [ ! -d /backups ];then

            mkdir /backups

    fi

    

    

    case $1 in

    "gzip")

            /bin/tar -zcf /backups/etc-20160613.tar.gz /etc

            ;;

    "bzip2")

            /bin/tar -jcf /backups/etc-20160613.tar.bz2 /etc

            ;;

    "xz")

            /bin/tar -Jcf /backups/etc-20160613.tar.xz /etc

            ;;

    *)

            echo "你输入的参数有误!"

            exit 1

            ;;

    esac

~     

    

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

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

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

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

   (4) 其它为无法判断;

        

    #!/bin/bash

    #

    #

    if [ -L $1 ];then

            echo "是访问路径"

    elif [ -f $1 ];then

            echo "可以正常访问的文件"

    elif [ -d $1 ];then

            echo "可以对其使用cd命令"

    else

            echo "无法判断"

    fi

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

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

   (2) 否则,显示现有的主机名即可;

    

    #!/bin/bash

    

    hname=`hostname`

    case $hname in

    "locathost")

            /bin/hostname mail.magedu.com

            ;;

    

    "")

            /bin/hostname mail.magedu.com

            ;;

    

    "none")

            /bin/hostname mail.magedu.com

            ;;

    

    

    *)

            /bin/hostname

            ;;

    esac

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

(0)
mr.sprintmr.sprint
上一篇 2017-02-07 22:23
下一篇 2017-02-08 10:29

相关推荐

  • 0812作业

    练习题 1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文…

    Linux干货 2016-08-15
  • bash的一些特性

    bash的字符串处理工具 字符串切片: ${var:offset:number} 取字符串的子串; 取字符串的最右侧的几个字符:${var: -length} 注意:冒号后必须有一个空白字符; 基于模式取子串; ${var#*word}: 其中word是指定的分隔符;功能:自左而右,查找var变量中所存储的字符串中,第一次出现word分隔符,删除字符串开头至…

    Linux干货 2016-08-24
  • [转]百万级访问网站前期的技术准备

       [转]百万级访问网站前期的技术准备 开了自己域名的博客,第一篇就得来个重磅一点的才对得起这4美金的域名。作为一个技术从业者十年,逛了十年发现有些知识东一榔头西一棒槌的得满世界  看个遍才整理出个头绪,那咱就系统点的从头一步一步的说,一个从日几千访问的小小网站,到日访问一两百万的小网站,怎么才能让它平滑的度过这个阶段,别在 …

    Linux干货 2016-10-29
  • 磁盘管理

     磁盘管理  1 磁盘的结构  设备文件     I/O Ports: I/O设备地址  一切皆文件: open(), read(), write(), close()  设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘  设备文件:关联至一个设备驱动程序…

    Linux干货 2016-08-26
  • 谁说C语言很简单?

    前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。 是的,C语言并不简单,让我们来看看下面这些示例: 为什么下面的代码会返回0?(这题应该很简单吧) int x;   return x == (1&…

    Linux干货 2016-03-20
  • bash的特性总结

    什么是bash:       shell作为用户与计算机内核交互的接口,是用户与计算机沟通的桥梁,而bash(borne again shell)是众多shell里面最为流行一种,bash作为众多shell里面的一种有着众多的特性,掌握bash的众多特性将会是我们今后学习linux必经之路。&nbs…

    Linux干货 2015-10-27