N44期第四周作业
1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1 | tee a.txt | wc -l;cat a.txt
2、查出用户UID最大值的用户名、UID及shell类型
sort -t: -k 3 -nr /etc/passwd | head -1 | cut -d: -f1,3,7
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
ss -nt | tr -s ' ' | cut -d" " -f5 | egrep -o "^[0-9.]{7,}" | sort | uniq -c | sort -nr
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