centos7之文本处理及shell基础编程

发布时间:2020-10-09 11:45:05 作者:rickzhu
来源:网络 阅读:115

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、编写脚本 centos7之文本处理及shell基础编程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

#********************************************************************                                               

~     


推荐阅读:
  1. 精讲shell基础以及如何高效的学习shell编程
  2. Linux shell基础

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

shell基础编程 ce he

上一篇:layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例

下一篇:Vue中axios拦截器如何单独配置token

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》