有人可以告诉我如何找到以下内容。
从/ etc / passwd列出UID和具有最高UID的用户。
答案 0 :(得分:6)
cat /etc/passwd | awk -F: '{print $3,$1}' | sort -n | tail -n 1
答案 1 :(得分:4)
不是阅读/etc/passwd
,而是从
getent passwd
您可以通过nsswitch使用其他UID源,例如LDAP。
答案 2 :(得分:2)
/etc/passwd
包含以冒号分隔的用户信息。用户ID位于第三列。
sort
命令行工具可用于对文件行进行排序。它有选项,用于选择列分隔的分隔符,要排序的列以及是按数字还是按字母顺序排序。
因此,您可以使用sort
按用户ID对/etc/passwd
进行排序,然后使用tail
从中获取最后一行,其中包含ID最高的用户。
答案 3 :(得分:0)
getent passwd | awk -F : '$3>h{h=$3;u=$1}END{print h " " u}'
答案 4 :(得分:0)
需要为awk命令对getent输出进行排序。 此外,我发现nfsnobody(在Linux上)可以忽略,而第二高的UID是经常需要的。因此,效果很好:
65534 nfsnobody 1002 user2
[Age] IN (29,30,41)