小试牛刀(3)

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

[root@localhost ~]# diff <(grep -E -v '/sbin/nologin$' /etc/passwd|cut -d: -f1)  <(grep -E -v '/sbin/nologin$' /etc/passwd|wc -l)
1,59c1
< root
< sync
< shutdown
... --- > 59 [root@localhost ~]#

 最后一行为用户个数,第一行为两个文件差异 第二行只倒数第二行为符合条件的用户名 

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

[root@localhost ~]# cut -d: -f1,3,7 /etc/passwd|sort -t: -k2 -nr|head -1
nfsnobody:65534:/sbin/nologin
[root@localhost ~]#

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

[root@localhost ~]# netstat -nt|tr -s " "|cut -d" " -f5|uniq -c|tr -s ' ' |sort -nr  -c"" -k2
sort: -:3: disorder:  1 192.168.1.33:63416
[root@localhost ~]#

  

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

#!/bin/bash
read -p "请输入用户名: " n
useradd $n &> /dev/null
if [ "$?" == "0" ]
then
echo "user info: cat /etc/passwd | grep -E "\&lt;^$n\&gt;""
else
echo "用户已存在"
fi

 

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

vim ~/.vimrc
set nu "show line
set ts=4 "TAB 4 chars
syntax on "grammar light
set cursorline
"set mouse=a
set ai
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:                TODO")
        call setline(5,"#Email:                    TODO")
        call setline(6,"#Date:                  ".strftime("%Y-%m-%d"))
        call setline(7,"#FileName:             ".expand("%"))
        call setline(8,"#Description:         TODO")
        call setline(9,"#**********************************************************")
        call setline(10,"")
        endif
endfunc
autocmd BufNewFile * normal G

猜你喜欢

转载自www.cnblogs.com/qqsu007/p/11782352.html