马哥N49第五周作业

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

#用grep匹配出所有以/sbin/nologin结尾的行,并用wc -l统计个数
[root@localhost ~]# 
[root@localhost ~]# grep '/sbin/nologin$' /etc/passwd | wc -l
39
[root@localhost ~]# 
#用grep匹配出所有以/sbin/nologin结尾的行,用cut取出第一列。
[root@localhost ~]# grep '/sbin/nologin$' /etc/passwd | cut -d ":" -f 1
bin
daemon
adm
lp
mail
operator
games
ftp
nobody
dbus
systemd-coredump
systemd-resolve
tss
polkitd
geoclue
rtkit
pulse
qemu
usbmuxd
unbound
rpc
gluster
chrony
libstoragemgmt
pipewire
saslauth
setroubleshoot
dnsmasq
radvd
clevis
cockpit-ws
sssd
colord
gdm
rpcuser
gnome-initial-setup
sshd
avahi
tcpdump
[root@localhost ~]#

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

#用sort对第三列的UID进行反向排序,取出最大值,最后用cut取出1 3 7列。
[root@localhost ~]# sort -n -t ":" -k 3 -r /etc/passwd | head -1 | cut -d ":" -f 1,3,7
nobody:65534:/sbin/nologin
[root@localhost ~]# 

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

[root@localhost ~]#
#用ss获取当前和本机建立的连接,并用sed去掉第一行的描述,用cut和awk取出远程主机IP,并用uniq -c对重复的值进行统计
[root@localhost ~]# ss -nt | sed -n '2,$p' | cut -d ":" -f 2 | awk -F " " '{print $2}' | uniq -c
      2 10.0.0.1
      1 10.0.0.204
      1 10.0.0.202
[root@localhost ~]# 
[root@localhost ~]# ss -nt | sed -En 's/.*:[0-9]+[[:space:]]+(.*):.*/\1/p'|sort -nr| uniq -c
    118 10.0.0.204
     13 10.0.0.202
      1 10.0.0.1
[root@localhost ~]# 

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

[root@localhost ~]# cat createuser.sh 
#!/bin/bash
UserName=$(echo $1|grep -wE '[[:lower:]]{1,12}') #规范输入的用户名必须是1-12位小写字母,不规范匹配到的会是空值
if [ -z ${UserName} ]  
then
    echo Username format is not correct,try again!
    exit 1; #如果用户名是空,退出脚本
else
    id ${UserName} &> /dev/null
    UserStaCode=$(echo $?)    
    if [ ${UserStaCode} -eq 0 ]
    then
        echo "User $1 already exist!"   #如果用户已经存在则提示已经存在用户
    else
        useradd ${UserName} &> /dev/null   #如果用户不存在,则创建该用户
        echo "Create user ${UserName} :"  
        id ${UserName}   
    fi
fi
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh root
User root already exist!
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh zzz
Create user zzz :
uid=1001(zzz) gid=1001(zzz) groups=1001(zzz)
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh zzzaaaaaaaaaaaa
Username format is not correct,try again!
[root@localhost ~]# 
[root@localhost ~]# cat createuser.sh  #第二个版本,用短路与、短路或更简洁
#!/bin/bash
UserName=$(echo $1|grep -wE '[[:lower:]]{1,12}')
if [ -z ${UserName} ]
then
    echo Incorrect Username,try again!
    exit 1;
else
    #直接用短路与、短路或代替嵌套if,脚本看起来更清晰明了
    useradd ${UserName} &> /dev/null && (echo "Create User ${UserName}";id ${UserName}) || echo "User ${UserName} is exsit!"
fi
[root@localhost ~]#
[root@localhost ~]# bash createuser.sh zzz
User zzz is exsit!
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh root
User root is exsit!
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh aaaaaaaaaaaaaa
Incorrect Username,try again!
[root@localhost ~]# 
[root@localhost ~]# bash createuser.sh xxxx
Create User xxxx
uid=1006(xxxx) gid=1006(xxxx) groups=1006(xxxx)
[root@localhost ~]# 

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

[root@localhost ~]# cat .vimrc   #在~/.vimrc插入以下行代码即可
autocmd BufNewFile *.sh exec ":call SetTitle()"
let $author="zzz"
let $email="1234@qq.com"
let $qq="1234"
let $vers="1"
let $description="test"

func SetTitle()
    if expand("%:e")=='sh'
            call setline(1,"#!/bin/bash")
            call setline(2,"#")
            call setline(3,"#*************************************")
            call setline(4,"#file name:             ".expand("%"))
            call setline(5,"#author:                ".$author)
            call setline(6,"#QQ:                    ".$qq)
            call setline(7,"#email:                 ".$email)
            call setline(8,"#version:               ".$vers)
            call setline(9,"#date:                  ".strftime("%Y-%m-%d"))
            call setline(10,"#description:           ".$description)
            call setline(11,"#*************************************")

    endif

endfunc
[root@localhost ~]# 
[root@localhost ~]# vim test.sh
[root@localhost ~]# 
[root@localhost ~]# cat test.sh
#!/bin/bash
#
#*************************************
#author:                zzz
#QQ:                    1234
#email:                 1234@qq.com
#version:               1
#date:                  2020-10-27
#description:           test
#*************************************
echo "hello world"
[root@localhost ~]# 

架构作业
1、安装配置redis的cluster集群
2、安装配置memcached高可用
3、安装xmware esxi'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容