N44期第四周作业

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

      grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1 | tee a.txt | wc -l;cat a.txt

      N44期第四周作业

2、查出用户UID最大值的用户名、UID及shell类型

      sort -t: -k 3 -nr /etc/passwd | head -1 | cut -d: -f1,3,7

      N44期第四周作业

3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

      ss -nt | tr -s ' ' | cut -d" " -f5 | egrep -o "^[0-9.]{7,}" | sort | uniq -c | sort -nr      N44期第四周作业

4、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等 信息

     vim createuser.sh

     ===============

    #!/bin/bash

    [ "$#" -ne 1 ] && { echo "USAGE:`basename $0` USERNAME" ; exit 10; } 

    id $1 &> /dev/null && { echo "The user already exists" ; exit 11; }

    useradd $1 &> /dev/null && { echo abcdef | passwd --stdin $1 &> /dev/null ; echo "useradd successfully"; } || { echo "Error!" ; exit 12; }

 

 

5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等

     vim ~/.vimrc

     ===============

     #!/bin/bash

     set tabstop=4

     set expandtab

     set softtabstop=4

     set shiftwidth=4

     set ignorecase

     set smartindent

     autocmd BufNewFile *.sh exec ":call SetTitle()"

     func SetTitle()

          if expand("%:e") == 'sh'

          call setline(1,"#!/bin/bash")

          call setline(2,"#")

          call setline(3,"#*********************************************************************")

          call setline(4,"# Author:            hao")

          call setline(5,"# QQ:               176******")

          call setline(6,"# Date:             ".strftime("%Y-%m-%d"))

          call setline(7,"# FileName:          ".expand("%"))

          call setline(8,"# URL:               https://me.****.net/weixin_44528083")

          call setline(9,"# Description:       The test script")

          call setline(10,"# Copyright (c):     ".strftime("%Y")."hao")

          call setline(11,"#*********************************************************************")

          call setline(12,"")

          endif

     endfunc

     autocmd BufNewFile * normal G