1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
执行语句:cat /etc/passwd | grep -v /sbin/nologin显示用户
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
li:x:1000:1000:li:/home/li:/bin/bash
执行语句cat /etc/passwd | grep -v /sbin/nologin | wc -l统计个数
5
2、查出用户UID最大值的用户名、UID及shell类型
cat /etc/passwd | sort -t: -k3 -n| tail -1| cut -d: -f1,3,7
nfsnobody:65534:/sbin/nologin
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
netstat -nt| tr -s " " : | cut -d: -f4| uniq -c| sort -nr
1 192.168.160.129
4、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等 信息
#! /bin/bash
read -p " Please enter your username: " NAME
if id -u $NAME > /dev/null 2> & 1 ; then
echo "$NAME already exists"
else
useradd $NAME
id $NAME
fi
createuser.sh 创建新用户wang并显示用户ID等信息
Please enter your username: wang
uid= 1002( wang) gid= 1002( wang) groups= 1002( wang)
createuser.sh 用户li提示用户已存在
Please enter your username: li
li already exists
5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
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: li" )
call setline( 5,"#QQ: 294584230" )
call setline( 6,"#email: 294584230@qq.com" )
call setline( 7,"#version: 1.0" )
call setline( 8,"#date: " .strftime( "%Y-%m-%d" ))
call setline( 9,"#description: text " )
call setline( 10,"#************************************" )
endif
endfunc