1、統計出/etc/passwd文件中其默認shell爲非/sbin/nologin的用戶個數,並將用戶都顯示出來nginx
[root@centos7 ~]# grep -v "/sbin/nologin" /etc/passwd |wc -l && grep -v "/sbin/nologin" /etc/passwd |cut -d ":" -f1redis
15mongodb
rootdocker
syncshell
shutdownvim
haltcentos
ricktomcat
gentoobash
dockeride
mongodb
redis
tomcat
nginx
ric
mageia
slackware
test
[root@centos7 ~]#
2、查出用戶UID最大值的用戶名、UID及shell類型
方法一:
[root@centos7 ~]# cat /etc/passwd |sort -t: -k3 -nr |head -1 |cut -d: -f1,3,7
方法二:
[root@centos7 ~]# cat max_uid.sh
#!/bin/bash
uid=`cat /etc/passwd |cut -d ":" -f3`
for i in $uid
do
max=0
if [ $i -gt $max ]
then
max=$i
fi
done
grep $max /etc/passwd |cut -d ":" -f1,3,7
[root@centos7 ~]# sh max_uid.sh
test:2003:/bin/bash
[root@centos7 ~]# tail -3 /etc/passwd
mageia:x:1100:1100::/homenux:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/tcsh
test:x:2003:2003::/home/test:/bin/bash
[root@centos7 ~]#
3、統計當前鏈接本機的每一個遠程主機IP的鏈接數,並按從大到小排序
[root@centos7 ~]#ss -tnla |grep ESTAB |tr -s " " |cut -d " " -f5 |sort |uniq -c |sort -nr |head
119 127.0.0.1:3306
40 ::ffff:127.0.0.1:3306
21 ::ffff:59.39.91.244:3306
4 ::ffff:127.0.0.1:60009
2 127.0.0.1:55555
1 ::ffff:61.146.78.146:64634
1 ::ffff:61.143.130.174:30895
1 ::ffff:59.39.91.244:58830
1 ::ffff:59.39.91.244:58818
1 ::ffff:59.39.91.244:58263
4、編寫腳本 createuser.sh,實現以下功能:使用一個用戶名作爲參數,若是 指定參數的用戶存在,就顯示其存在,不然添加之;顯示添加的用戶的id號等 信息
[root@centos7 ~]# cat createuser.sh
#!/bin/bash
#********************************************************************
#Author: rickzhu
#QQ: 1779526363
#Date: 2020-02-28
#FileName: createuser.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2020 All rights reserved
#********************************************************************
if grep $1 /etc/passwd >/dev/null
then
echo "$1 is exist."
else
useradd $1
echo "`id $1`"
fi
[root@centos7 ~]# sh createuser.sh nginx
nginx is exist.
[root@centos7 ~]# sh createuser.sh test
uid=2003(test) gid=2003(test) groups=2003(test)
[root@centos7 ~]#
5、編寫生成腳本基本格式的腳本,包括做者,聯繫方式,版本,時間,描述等
[root@centos7 ~]# cat createScript.sh
#!/bin/bash
#
#判斷當前目錄是否有同名的腳本
if ls |grep $1 >>/dev/null
then
echo "$1 is exist" && exit 10
fi
cat <<EOF > $1 && vim + $1
#!/bin/bash
#
#********************************************************************
#Author: rickzhu
#QQ: 1779526363
#Date: `date +%F`
#FileName: $1
#Version 1
#URL: http://www.magedu.com
#Description: The $1 script
#Copyright (C): 2020 All rights reserved
#********************************************************************
EOF
[root@centos7 ~]#
[root@centos7 ~]# sh createScript.sh test.sh
#!/bin/bash
#
#********************************************************************
#Author: rickzhu
#QQ: 1779526363
#Date: 2020-02-28
#FileName: test.sh
#Version 1
#URL: http://www.magedu.com
#Description: The test.sh script
#Copyright (C): 2020 All rights reserved
#********************************************************************
~