欢迎光临散文网 会员登陆 & 注册

系统有关shell命令的应用

2021-11-18 13:12 作者:Vecloud_  | 我要投稿


1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 
[root@centos7 ~]# grep -v "/sbin/nologin" /etc/passwd |wc -l && grep -v "/sbin/nologin" /etc/passwd |cut -d ":" -f1 
15 
root 
sync 
shutdown 
halt 
rick 
gentoo 
docker 
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 
#******************************************************************** 
~   

了解更多网络知识关注:http://www.vecloud.com/

系统有关shell命令的应用的评论 (共 条)

分享到微博请遵守国家法律