1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
getent passwd |grep -v "/sbin/nologin" | cut -d: -f1
getent passwd |grep -v "/sbin/nologin" | cut -d: -f1 |wc -l
2、查出用户UID最大值的用户名、UID及shell类型
getent passwd | cut -d: -f1,3,7 |sort -t: -k2 -n | tail -1
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
netstat -tn | grep 'tcp' |tr -s " " : |cut -d: -f6 |sort -n
防止重复,可以加上uniq -c 去重
netstat -tn | grep 'tcp' |tr -s " " : |cut -d: -f6 |sort -nr |uniq -c
4、编写脚本createuser.sh,实现如下功能:使用一个用户名作为参数,如果指定参数用户存在,就显示存在,否则添加之,显示添加的用户的id号等信息
[ $# -eq 0 ] && { echo "usage: basename $0
USERNAME" ; exit 10; }
id $1 &> /dev/null && { echo "用户已存在 "; exit 20;}
useradd $1 &> /dev/null && { echo -e "$1 is created\ngetent passwd $1
" ;echo 123456 |passwd --stdin $1 &> /dev/null ; } || { echo "Error!" ; exit 30; }
测试:如下图
5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
编辑家目录的 vim .vimrc
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: jeff")
call setline(5,"#QQ: 7494067xx ")
call setline(6,"#email: 749406@qq.com")
call setline(7,"#version: 3.27")
call setline(8,"#date: ".strftime("%Y-%m-%d"))
call setline(9,"#description: jeff test script")
call setline(10,"#*")
endif
endfunc
保存退出
重新登录
随便创建一个脚本文件 vim test.sh
第四周作业
原创
©著作权归作者所有:来自51CTO博客作者哎呀你好帅的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
第四节 Docker概述
Docker
Docker docker 应用程序 -
C语言学习第四天
一、运算符二、二进制操作符三、单目操作符
运算符 按位与 位取反