현재 이 명령의 출력 상단에서 내 (루트) 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
출력을 조작하기 위해 또는 다른 것을 사용할 수 있습니다 .
root
그러면 원격 로그인 정보 와 로컬 로그인 정보에 대한 현재 IP 주소가 제공됩니다 .
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]}