2014-09-09shell练习

回复 收藏
写个shell,看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个?
{{{密码回复可见}}}

2014-09-09 10:07 举报
已邀请:
0

wyatt88

赞同来自:

本帖最后由 wyatt88 于 2014-9-9 10:54 编辑

#!/bin/bash
count=`awk -F':' '$3>=500' /etc/passwd|wc -l`
if [ $count -eq 0 ]
then
echo "none" > /dev/null
else
echo "have" >/dev/null
echo $count
fi
0

Stary-liu

赞同来自:

USER=awk -F':' '$3>=500 {print $1}' /etc/passwd |wc -l

if [$USER -gt 0]; then
    echo "$USER common users"
eles
    echo "no common users"
fi
0

泡沫。

赞同来自:

不会写,求分享更好的思路

cat /etc/passwd|awk -F ":" '{print $NF }'|sort -n|uniq -c|awk '/bash$/ {print $1}'
0

wyatt88

赞同来自:

wyatt88 发表于 2014-9-9 10:52
#!/bin/bash
count=`awk -F':' '$3>=500' /etc/passwd|wc -l`
if [ $count -eq 0 ]

对哈 思维定式啊 谢啦 铭哥{:5_121:}
0

小雨

赞同来自:

#!/bin/bash

awk -F ':' '$3>500' /etc/passwd > num.txt
if [ -e num.txt ];then
        echo `wc -l num.txt` | awk -F '' '{print $1}'
fi
0

陈沛

赞同来自:

本帖最后由 陈沛 于 2014-9-9 11:54 编辑

#!/bin/bash
# 2014-09-09
# chenpei
# More than 500 user query

num=`awk -F':' '$3>=500 {print $1}' /etc/passwd | wc -l`
if [ $num -gt 0 ]
  then
        echo "users: $num"
else
        echo "No ordinary users."
fi
0

So Long

赞同来自:

#!/bin/bash

/bin/cp /etc/passwd  /chengcheng/haha.txt
a=0
for i in `awk -F ':' '$3>=500 {print $3}'  /chengcheng/haha.txt`;do

        if [ $i -ge 500 ];then
                a=$[$a+1]
        else

                echo "the user's uid greater 500 is not exist"
        fi
done
echo "the user's uid greater 500 is exist,it has $a users"
0

Louis

赞同来自:

  1. #!/bin/bash
  2. ## This script is for count the sum of general users.
  3. ## Writed by Louis on 2014/09/09 13:05

  4. num=`awk -F: '$3>=500 {print $1}' /etc/passwd|wc -l`
  5. if [ $num -eq 0 ]; then
  6.         echo "There is no general user on this system."
  7. else
  8.         echo "The sum of general users numbers is: $num"
  9. fi


0

乌托邦

赞同来自:

oh
0

ocean

赞同来自:

cat /etc/passwd |awk -F: '$3>=500'|wc -l{:5_121:}
0

coffee

赞同来自:

#!/bin/bash

user=`awk -F':' '$3>=500 {print $1}' /etc/passwd |wc -l`

if [ $user -ne 0 ] ;then
        echo $user
else
        echo "No ordinary users"
fi


0

chenzudao1234

赞同来自:

kankan
0

Wagskun

赞同来自:

看看
0

So Long

赞同来自:

程城 发表于 2014-9-9 13:04
#!/bin/bash

/bin/cp /etc/passwd  /chengcheng/haha.txt

铭哥说得对,我把问题复杂化了。继续学习学习。
0

butterfly梧桐雨

赞同来自:

[root@myCentOS practice]# cat homework1.sh
#!/bin/bash
# This is a shell practice for count the number of normal users
# 20140909 by zhuzhu
num=`awk -F ':' '$3 >=500 {print $1}' /etc/passwd | wc -l`
if [ -z $num ]; then
    echo "None normal user"
else
    echo "Total $num normal users"
fi

[root@myCentOS practice]# bash homework1.sh
Total 1 normal users
0

hongyufeng2014

赞同来自:

很好很好很好很好
0

soar

赞同来自:

#!/bin/bash
cat /etc/passwd | awk -F ":" '{print $3 }'> temp.user
declare -i n=0;
for i in `cat temp.user`
do      
        if [ $i -ge 500 ]
        then
                n=$n+1
        fi
done
echo "the count of user is:$n"
0

齐天大圣

赞同来自:

#!/bin/bash
n=`awk -F':' '$3>=500{print $1}' /root/passwd|wc -l`
if [ $n -eq 0 ];then
   echo "没有自定义用户"
else
   echo $n
fi
0

寻@轨迹

赞同来自:

#!/bin/bash
#Writen by yuhui!
count=`awk -F ':' '$3 >= 500' /etc/passwd | wc -l`
person=`awk -F ':' '$3 >= 500' /etc/passwd | awk -F ':' '{print $1}'`
if [ $count -eq 0 ]
then
        echo " 没有普通用户!"
else
        echo " 有 $count 个普通用户"
        echo $person
fi
0

第六感

赞同来自:

本帖最后由 第六感 于 2014-9-10 11:57 编辑

#!/bin/bash
#
USERID=`cut -d: -f3 /etc/passwd`
for i in `echo $USERID`;do
        if [ $i -gt 500 ];then
                let j++
        fi
done
echo  $j


0

huifeidexiaxia

赞同来自:

基础还是不扎实,有思路,不知怎么动笔,要多写写
0

寒一

赞同来自:

#! /bin/bash

awk -F ':' '$3>=500 {print $3}' /etc/passwd |wc -l
0

木字当头

赞同来自:

#!/bin/bash

a=`awk -F ':' '$3>=500' /etc/passwd|wc -l `

if [ $a -ge 1 ]

then

  echo  "the system have $a个user-difined"

else

echo  "the system have no user-difined"
fi
0

zyfeifie

赞同来自:

#!/bin/bash
n=`awk -F ':' '$3>499' /etc/passwd | wc -l `
if [ $n -gt 0 ]
echo "this server has $n  normal user"
else
echo ‘have no normal users’
fi
0

小海

赞同来自:

编写思路:普通用户的uid号数都大于等于500,/etc/passwd中第三个字段是uid,一次提取出uid然后判断是否大于等于500就可以判断是否存在普通用户,num计数,存在一次递加1,最终就是总的个数。

#! /bin/bash
#查看Linux系统中是否有自定义用户(普通用户),若是有,一共有几个

num=0
for i in `cat /etc/passwd | awk -F ':' '{print $3}'`
do
        if [ $i -ge 500 ]
        then
                num=$[$num+1]
        fi
done
if [ $num -gt 0 ]
then
        echo "存在普通用户,一共有:"$num
else
        echo "不存在普通用户"
fi
0

游夜

赞同来自:

#!/bin/bash
user=`cat /etc/passwd|awk -F ':' '$3>499 {print $3}'|wc -l`
echo "There have $user users."
0

楓瀛夢鞢

赞同来自:

#! /bin/bash
a=`awk -F ':' '$3 >= 500 ' /etc/passwd|awk -F ':' '{print NR}'|xargs|awk '{print NF}' `
if [ $a -eq 0 ] ;then
        echo "No ordinary users.";
else
        echo "The ordinary users is total $a";
fi
0

阳光

赞同来自:


      1 #!/bin/bash
      2 num=0
      3
      4
      5 for i in `cat /etc/passwd |awk -F ':' '{print $3}'`; do
      6         if [ $i -ge 500 ] ; then
      7            num=$[$num+1]
      8         fi
      9 done
     10 echo $num
0

黑色的梦

赞同来自:

1
0

larson

赞同来自:

#!/bin/bash
#this script is statistical the average user in the system

awk -F ':' '{print $3}' /etc/passwd > /tmp/user_id.txt
echo -n "">/tmp/1.txt       
for n in `cat /tmp/user_id.txt`;do
if [ $n -ge 500 ]; then
    echo $n >> /tmp/1.txt
fi
done
m=`cat /tmp/1.txt | wc -l`
echo "The number of prdinary users:" $m
0

潘有成

赞同来自:

oh,yeah,ohyea
0

丁张龙

赞同来自:

#!/bin/bash
num=`cat /etc/passwd|awk -F ':' '$3>=500'|grep "bash"|wc -l`
echo "you have $num users"
0

我想做个好人

赞同来自:

{:4_91:}
0

cmzsteven

赞同来自:

{:4_91:}
0

zzfeng2012

赞同来自:

...
0

yaabb163

赞同来自:

dddddddddd
0

zhangw

赞同来自:

1
0

qq20847697

赞同来自:

#!/bin/bash
#
a=`awk -F: '$3>=500' /etc/passwd|wc -l`
if [ $a -eq 0 ] ;
then echo "No ordinary users."
else
echo "$a ordinary users."
fi
0

pykihwfn

赞同来自:

看看
0

llzdwyp

赞同来自:

cat /etc/passwd |awk -F: '$3>=500 {print $1,$3}'
0

iwannachange

赞同来自:

  1. #!/bin/bash
  2. a=0
  3. for I in `cut -d: -f3 /etc/passwd`;do
  4.     if [ $I -ge 500 ] ;then
  5.         let a=$a+1
  6.     fi
  7. done

  8. echo "your system created $a users"
0

qiaoxin360

赞同来自:

#!/bin/bash
user=`awk -F ':' '$3>=1000' /etc/passwd`
echo "$user
0

巧杜鹃

赞同来自:

学习
0

鑫柏

赞同来自:

不知道行不行 awk -F ':'  '$3>=500'  /etc/passwd |wc -l
0

Armani

赞同来自:

aa=`cat /etc/passwd | awk -F:  '$3>=500 {print $3}' | wc -l`
if  [ $aa  -eq 0 ];then
   echo "You machine  don't have  common  user!"
else
   echo "You machine  have  "$aa" users!"
fi
0

307141950

赞同来自:

cat /etc/passwd |grep /bin/bash |sort -n
0

shajoe

赞同来自:

awk -F ":" '$3>500' /etc/passwd |wc -l
0

ifconfig2

赞同来自:

1
0

chenqi

赞同来自:

  1. awk  -F':' '$3>500' passwd |wc -l
0

Shawn

赞同来自:

awk -F':' '$3>=500 {print $1}' /etc/passwd |wc -l
0

不怕不怕

赞同来自:

急急急
0

664778717@qq.co

赞同来自:

#!/bin/bash
#date 2015/11/10
#wite by cong
usernum=`nl /etc/passwd|awk -F: '$3>=500'|wc -l`
  if [ $usernum -gt 0 ];
then
   echo "$usernum 个普通用户"
else
   echo "没有普通用户"
fi


0

ldp840611

赞同来自:

看目的
0

Rohero

赞同来自:

学习
0

J!_yuan

赞同来自:

awk -F: '$3>"0"' /etc/passwd |wc -l
0

翟厚翔

赞同来自:

cat /etc/passwd|awk -F':' '{ if($3 >= 500) print $3}'|wc -l
0

石头

赞同来自:

{:4_91:}
0

蓝色风暴

赞同来自:

awk -F ':' '$3>=500{print $0}' /etc/passwd | wc -l
0

pbw19950507

赞同来自:

学习
0

我是学渣

赞同来自:

kk
0

loveyouhyf

赞同来自:

#! /bin/bash
##看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个
##write by 2015-12-26
a=`awk -F ':' '$3>499 {print $0}' /etc/passwd|wc -l`
if [ $a -gt 0 ]; then
echo "the system have $a user-define user(s),is:"
awk -F ':' '$3>499 {print $0}' /etc/passwd
else
echo "the system have not user-define user(s)"
fi
0

DSH20150916

赞同来自:

学习
0

weifeng1463

赞同来自:

pk
0

Linuxpp

赞同来自:

继续学习
0

Landon

赞同来自:

asdas
0

maria

赞同来自:


  1. #!/bin/bash

  2. count=`awk -F ':' '$3>=500' /etc/passwd|wc -l `
  3. if (($count==0))
  4.     then echo '系统中没有普通用户!'
  5. else
  6.     echo '系统中有'$count'个普通用户!'
  7. fi



QQ图片20151228221236.png
0

重庆-刘鹏

赞同来自:

自定义用户
0

yanggang

赞同来自:

ff
0

369666951

赞同来自:

本帖最后由 369666951 于 2015-12-30 14:57 编辑
  1. #!/bin/bash
  2. a=`awk -F ':' '$3>=500' /etc/passwd|wc -l`
  3. if [ $a -ne 0 ]
  4. then
  5. echo $a
  6. else
  7. echo "no uid>=500"
  8. fi

0

一笑而过

赞同来自:

啊实打实的
0

rolay8

赞同来自:


  1. #!/bin/bash

  2. cat /etc/passwd|while read line
  3. do
  4.     if [ `echo -n $line|awk -F ":" '{print $3}'` -ge 500 ]; then
  5.         echo `echo -n $line|awk -F ":" '{print $1}'`
  6.     fi
  7. done
0

rolay8

赞同来自:

awk 里面判断{:4_118:} 一行就搞定。。。学习了
0

沧海一叶

赞同来自:

#!/bin/bash
#
count=`awk -F':' '$3>499 {print $0}' /etc/passwd|wc -l`
echo $count
0

hlymlv

赞同来自:

#!/bin/bash
m=`cat /etc/passwd|wc -l`
for i in `seq 1 $m`
do
n=`sed -n "$i"p /etc/passwd|awk -F ':' '{print $3}'`
if [ "$n" -gt 500 ];then
sum=`expr $sum + 1`
sed -n "$i"p /etc/passwd|awk -F ':' '{print $1}'
fi
done
echo $sum
0

xteplinux

赞同来自:

{:4_91:}
0

prospect

赞同来自:

#!/bin/sh
num=0
for i in `cat /etc/passwd |awk -F':' '{print $3}'`
do
    if [ $i -ge 500 ];then
        num=$[$num + 1]
    fi
done
echo $num
0

出VU时代

赞同来自:

学习了
0

licengceng

赞同来自:

学习
0

qiqige

赞同来自:

学习
0

t0ny1988

赞同来自:

#!/bin/bash
user=`cat /etc/passwd | awk -F ':' '$3>=500' |wc -l`
if [ $user -eq 0 ]
then
   echo "没有普通用户"
else
  echo "有 $user 个普通用户"
fi
0

lin19890913

赞同来自:

看看
0

落涧飞鹰

赞同来自:

看看
0

jokerhuman

赞同来自:

学习
0

北辰星

赞同来自:

学习
0

北辰星

赞同来自:

本帖最后由 北辰星 于 2016-2-4 15:12 编辑

#!/bin/bash
u=$[`awk -F ':' '{print $6}' /etc/passwd |grep '/home' |wc -l`]
if [ $u -gt 0 ]
then
      echo "该系统中含有 $u 个自定义用户"
else
      echo "该系统中没有自定义用户"
fi
为什么都喜欢用 uid大于500 这个条件呢,其实直接匹配出有/home这个字符串不就说明了是自定义的用户吗?而且uid大于500就一定是自定义的用户吗?
0

lyhabc

赞同来自:


#!/bin/bash
>/tmp/1.txt
for i in  $(seq 1 $(sed -n ""p /etc/passwd|wc -l))
do
        n=$(sed -n "$i"p /etc/passwd|awk -F ":" '{print $3}')
        if [ $n -ge 500 ]
        then
                echo $n >>/tmp/1.txt
        fi
done


echo "user is $(wc -l /tmp/1.txt|awk '{print $1}')"
0

thedawn

赞同来自:

1
0

lin13750529011

赞同来自:

谢谢
0

zmh0415

赞同来自:

本帖最后由 zmh0415 于 2016-2-27 20:35 编辑

a=`awk -F':' '$3>=500 {print $3}' /etc/passwd|wc -l`
if [ $a -gt 1 ]
  then
   echo "had created normal user"
   num=$[$a-1]
   echo "user numbers is : $num "
  else
   echo "no user had been created"
fi

0

HMOM

赞同来自:

#!/bin/bash
sum=`awk -F':' '$3 >= 500' /etc/passwd | wc -l`
uname=`awk -F: '$3 >= 500 {print $1," Uid=",$3}' /etc/passwd`
if [ $sum -eq 0 ];then
        echo "The system exist $sum users."
else
        echo "The system exist $sum users:"
        echo "$uname"
fi
0

蔡炳森

赞同来自:

#!/bin/bash

m=`cat /etc/passwd |awk -F':' '$3>= 500 {print $3}' |wc -l`
echo $m
0

wangzai

赞同来自:

学习
0

ayuan124

赞同来自:

本帖最后由 ayuan124 于 2016-3-23 18:08 编辑

#!/bin/bash
sum=`awk -F ':' '$3>=500' /etc/passwd|wc -l`
if [ $sum -eq 0 ];then
        echo "no ordinary user"
else
        echo "ordinary user have $sum"
fi
0

向南看是晴空

赞同来自:

学习了
0

gxp2008

赞同来自:

cat /etc/passwd |awk -F ':' '$3>=500 {print $1}'|wc -l
0

liang

赞同来自:

awk -F':' '$3>=500' /etc/passwd|wc -l
0

西瓜.M

赞同来自:

#!/bin/bash  #display the amount of common users  count=`awk -F ':' '$3>=500' /etc/passwd|wc -l` if [ $count>0 ];then         echo $count else         echo "common users is not exist" fi
0

SunyBome

赞同来自:

答案
0

阿凯

赞同来自:

本帖最后由 阿凯 于 2016-4-27 21:55 编辑

cat /etc/passwd |awk -F':' '{if($3 > 500)print $0}' |wc -l
0

qq895933723

赞同来自:

kankan

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: