N25-第九周作业

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

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

(0)
N25_DavidN25_David
上一篇 2017-03-11
下一篇 2017-03-11

相关推荐

  • LNMP

    1、源码编译安装LNMP架构环境 OS版本:2.6.32-431.el6.x86_64 Nginx版本:nginx-1.6.1 mariadb版本:mariadb-10.0.13 php版本:php-5.4.26 1、安装编译安装所需系统环境 ~]# yum groupinstall "Development Tools" "S…

    Linux干货 2017-02-09
  • 马哥网络班第21期-第二周作业毛豆

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     文件管理命令:cp、mv、rm     cp:      比如:cp -a /etc/*$.d /tmp/magedu.com     mv:      …

    Linux干货 2016-07-22
  • bash特性之基础

    bash shell 命令历史history 环境变量: HISTSIZE :命令历史记录的条数 HISTFILE :~/.bash_history HISTFILESIZE: 显示环境变量:echo    环境变量的修改:export  history history [-c] [-d&…

    Linux干货 2016-11-22
  • 更改CentOS7 默认网卡eno16777736为eth0

        安装完CentOS7,它的默认网卡名为eno16777736 看着不爽!习惯了eth0的命名方式。 编辑 /etc/sysconfig/grub 在“GRUB_CMDLINE_LINUX”里添加net.ifnames=0 biosdevname=0 保存退出 如图: 然后执行 grub2-mkconfig -o…

    系统运维 2015-12-19
  • 网络分层模型(OSI,TCP/IP)

    目前存在的两种网络分层模型:OSI模型和TCP/IP模型。 OSI模型一共分为七层 TCP/IP模型和OSI模型类似,但是只分为四层。 OSI模型 OSI的全程是Open Systems Interconncection,即开放系统互联,它由ISO(International Organization for Standardization)制定。 OSI是…

    2017-11-27
  • MYSQL数据库基础教程

    一、数据库介绍 1.数据库管理系统的产生背景 (1)数据时代的到来要求对数据进行有效和安全的管理 涉及的数据量大 数据不随程序的结束而消失 数据被多个应用程序共享 大数据时代的到来 (2)传统文件系统管理上的缺陷要求改变数据管理方式 编写应用程序不方便 数据冗余不可避免 应用程序依赖性 不支持对文件的并发访问 数据间联系弱 难以按用户视图表示数据 无安全控制…

    Linux干货 2017-10-05