我作为非root用户在linux环境中工作。我正在使用users命令来获取登录用户
users
但它会多次返回用户名,因为使用相同的登录名创建了多个shell。有没有办法使用用户commad打印唯一用户列表。 即使我试过
users | sort -u
仍然会多次返回用户名。
答案 0 :(得分:2)
试试这个 -
who| awk '{print $1}'|sort -u
答案 1 :(得分:2)
users | sort -u
仍然会多次返回用户名。
当然。 sort
基于行,users
仅打印一行。
你想要的是在sort -u
输出who
之前查看每行的第一个单词:
$ who|cut -f 1 -d " "|sort -u
barney
fred
wilma
或
$ who|sed 's/ .*//' |sort -u
barney
fred
wilma
但是,如果您对who
输出的某些实际线路感兴趣,也可以使用
$ who|sort -u -k 1,1
barney pts/23 Aug 26 10:11 (:5.0)
fred pts/3 Jun 11 18:38 (:6.0)
wilma pts/0 Jul 31 07:29 (:3.0)
答案 2 :(得分:1)
您可以尝试以下命令:who | cut -d' ' -f1 | sort | uniq
您可以使用w
命令获取已登录用户列表和详细信息