第四篇统计过滤的一些组合案例以脚本抬头配置基础演示

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

1.grep -v "/sbin/nologin" /etc/passwd | cut -d: -f 1

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

sort -t ":" -n -k3 /etc/passwd |tail -1 | cut -d: -f1,3,7

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

1.第一步 基本实现;ss -nt | tr -s " " | cut -d " " -f5 | cut -d ":" -f1 | uniq -c | sort -nr

2.第二步:过滤掉表头解决方案

ss -nt | grep [[:digit:]] | tr -s " " | cut -d " " -f5 | cut -d ":" -f1 | uniq -c | sort -nr

netstat -nt | grep [[:digit:]] | tr -s " " | cut -d " " -f5 | cut -d ":" -f1 | uniq -c | sort -nr

4、编写脚本

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

#!/bin/bash

if [ $# -eq 0 ];then

    echo "user a argument after the script name"

    exit

elif [ $# -gt 1 ];then

    echo " one arg is requed ,but $# arg was suplled"

    exit

fi

if id -u $1 &> /dev/null;then

    echo "the user has exits,peng refirm it"

else

    useradd $1 && echo "user $1 is created,`id $1`"

fi

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

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

set tabstop=4

set softtabstop=4

set shiftwidth=4

set expandtab

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                  czq")

    call setline(5,"#phone                  177**********")

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

    endif

endfunc

autocmd BufNewFile * normal G

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

 

 

 

posted on 2022-06-20 10:37  jiapengchu  阅读(31)  评论(0编辑  收藏  举报

导航