如何只打印当前登录的“root”用户IP地址?

如何只打印当前登录的“root”用户IP地址?

目前,我可以在该命令的输出顶部看到我的(根)IP 地址:

last

但我想要的只是将 IP 地址以干净的方式打印给我。

root     pts/1        1.1.1.1      Tue Aug 19 03:33   still logged in

我们的愿望只是简单地得到:

1.1.1.1

答案1

因此,您需要用户当前远程登录的列表root。该命令w列出系统上的所有登录。所以你可以使用grep或其他东西来操纵输出。

这将为您提供当前的 IP 地址远程登录信息root以及本地登录信息。

w -s root

与该输出一起使用grep,以获得您需要的输出:-

w -s root | grep -v ":0"

答案2

如上所述,有几种方法可以实现这一目标。我会使用awk如下

last | awk '$1 ~ /root/ && /logged/{print $3 | "uniq" ;}' 

或者

last | awk '$1 ~ /root/ && /logged/{a[$3]++}END{ for (i in a) print i}'

答案3

我同意@jasonwryan:

last | awk ' $1=/root/ {print $3}'|uniq或者 last | awk ' $1=/root/ {print $3}'|sort -u

答案4

last=`last|tail -n <line number desired here>`;last=($last);echo ${last[2]}

相关内容