shell实例

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

	# 显示用户
	sed -r '/\/sbin\/nologin/d;s#([^:]*).*#\1#' /etc/passwd
	# 显示用户数
	grep -v '/sbin/nologin$' /etc/passwd|wc -l

2.查出用户 UID 最大值的用户名,UID 和 shell 类型

sort -rnt ':' -k 3 /etc/passwd|cut -d : -f 1,3,7

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

ss -tne|tr -s ' ' ':'|sed '1d'|cut -d ':' -f 6|sort|uniq -c|sort -rn

4.编写脚本 createuser.sh,实现如下功能
以一个用户名为参数,如果用户存在,就显示用户存在,否则添加并显示用户 id.

test $# -lt 1 && echo "No user name" && exit 1
id $1 &> /dev/null && echo "user $1 is existed,UID is `id -u $1`" && exit 1
useradd $1
echo "user is add successed.UID is `id -u $1`"

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:                wang")
        call setline(5,"#QQ:                    123456789")
        call setline(6,"#Date:                  ".strftime("%Y-%m-%d"))
        call setline(7,"#FileName:             ".expand("%"))
        call setline(8,"#URL:                   http://mp.youkuaiyun.com/mdeditor/102885487.com")                                                                            
        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、付费专栏及课程。

余额充值