Linux - 如何列出所有用户

时间:2013-11-28 14:22:03

标签: linux awk grep uid

如何编写linux脚本,列出/ etc / passwd中的所有用户及其UID

User1 uid=0001
User2 uid=0002

...

脚本应该使用:grep,cut,id,for

4 个答案:

答案 0 :(得分:29)

awk -F: '$0=$1 " uid="$3' /etc/passwd
在这种情况下,awk更容易。

-F将字段分隔符定义为:

所以你想要的是第一和第三列。所以构建$0以提供输出格式。

这是强大的awk的基本用法。如果您经常遇到这类问题,可能需要阅读一些教程。

这次你有鱼,如果我是你,我会做一些关于钓鱼的研究。

答案 1 :(得分:8)

cut对此很好:

cut -d: -f1 /etc/passwd

这意味着"使用:作为分隔符,除了/etc/passwd文件"的每一行中的第一个字段之外的所有内容。

答案 2 :(得分:3)

我认为最好的选择就是:
grep "/bin/bash" /etc/passwd | cut -d':' -f1

答案 3 :(得分:0)

awk  -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody

为您提供包括用户ID在内的所有常规用户(uid> = 1000)。