实例练习

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

#] grep -v "nologin" /etc/passwd|wc -l

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

#] cut -d: -f1,3,7 /etc/passwd|sort -t : -k 2 -nr|head -n1

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

]# w|tr -s " "|cut -d" " -f3|grep "^[0-9.]\{7,15\}"|sort -t . -k 4 -nr|uniq -c

方法2

]# w|sed -nr "s/.* ([0-9.]{7,15}).*/\1/p"|sort -t. -k 4 -nr|uniq -c

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

#!/bin/bash
read -p "please input a username" NAME
UserCount=`cut -d: -f1 /etc/passwd|grep -w "$NAME"|wc -l`
if [[ $UserCount -eq o  ]];then
        useradd $NAME &>/dev/null
        echo "$NAME is created"
        echo "the id of $NAME is `id $NAME`"
else
        echo "$NAME is existing"
        echo "the id of $NAME is `id $NAME`"
fi

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

set ignorecase
set cursorline
set autoindent
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:                happy")
        call setline(5,"#QQ:                    437628586")
        call setline(6,"#Date:                  ".strftime("%Y-%m-%d"))
        call setline(7,"#FileName:             ".expand("%"))
        call setline(8,"#URL:                   http://www.php168.net")
        call setline(9,"#Description:          The test script")
        call setline(10,"#Copyright (C):        ".strftime("%Y")." All rights reserved")
        call setline(11,"#********************************************************************")
        call setline(12,"")
        endif
endfunc
autocmd BufNewFile * normal G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值