Jak mogę zobaczyć, ile osób jest zalogowanych na komputerze z systemem Linux? Wiem, że polecenie „users” pokazuje wszystkie zalogowane osoby, ale potrzebuję numeru. Czy na stronie podręcznika brakuje przełącznika dla użytkowników? Myślałem o użyciu grep -c
polecenia, ale musi być coś takiego samego w każdej nazwie użytkownika, aby to zadziałało. Czy istnieje prostszy sposób?
10
Klasycznie polecenie brzmi „kto”, a nie „użytkownicy”, ale „kto” daje więcej informacji. Patrząc wstecz na oryginalne artykuły uniksowe (z połowy lat 70.), przykładem może być:
Użycie „wc -l” zlicza linie wyjściowe - działa
zarównoz„użytkownikami”, jak i„kim”. Użycie „-w” działa niezawodnie tylko wtedy, gdy dla jednego użytkownika występuje jedno słowo (jak w przypadku „użytkowników”, ale nie w przypadku „kogo”).Możesz użyć 'grep -c' do zliczenia linii. Ponieważ interesują Cię tylko niepuste nazwy użytkowników, możesz:
W każdej linii zawsze jest co najmniej jeden znak.
Jak zauważył w komentarzach przez John T The
users
polecenie różniwho
się pod wieloma względami. Najważniejsze jest to, że zamiast podawać jedną nazwę w linii, rozdziela ona kilka nazw w linii - nie mam komputera z wystarczającą liczbą różnych użytkowników, aby sprawdzić, co się stanie, gdy liczba użytkowników stanie się duża. Inna różnica polega na tym, że „kto” raportuje używane połączenia terminali. Przy otwartych wielu oknach terminala pokaże wiele linii dla jednego użytkownika, podczas gdy „użytkownicy” zdają się wyświetlać tylko jednego zalogowanego użytkownika.W wyniku tej różnicy
grep -c .
sformułowanie „ ” nie będzie działać z poleceniem „users”; „wc -w
” jest konieczne.źródło
Otwórz powłokę i wpisz:
Ostatnia linia da ci liczyć.
EDYTOWAĆ:
(westchnienie) Źle zrozumiałem pytanie. Oto nieco brutalne podejście:
Aby zobaczyć unikalne nazwy użytkowników:
Aby zobaczyć liczbę unikalnych użytkowników:
źródło
Czy chcesz zobaczyć liczbę sesji lub liczbę rzeczywistych użytkowników?
To na moim laptopie, więc jestem jedynym użytkownikiem, ale jestem zalogowany trzy razy.
Jednak dość łatwo jest odfiltrować te duplikaty, aby uzyskać liczbę rzeczywistych użytkowników.
źródło
Oto bashowa wersja świetnego posta awk tink :
Ok, jest trochę dłużej, ale warto było znaleźć ten ... :).
Podczas testowania wykonaj przed następną próbą:
źródło
liczba zalogowanych użytkowników:
powyższe przyciski z nazwą konta:
źródło
Kto drukuje listę, cut usuwa wszystko oprócz pierwszego wiersza, sortuje -u sortuje i usuwa duplikaty, a wc -l zlicza linie. Działa dobrze dla mnie na Ubuntu / Bash :)
źródło
Możesz po prostu użyć
w
(/usr/bin/w
w moim systemie opartym na Red Hat) lubuptime
pokazują rzeczywistą liczbę zalogowanych użytkowników.w:
czas pracy:
źródło
I metoda wykorzystująca tylko jedną rurę ...
:}
źródło
http://www.gnu.org/software/coreutils/manual/html_node/who-invocation.html
„who” drukuje informacje o użytkownikach, którzy są aktualnie zalogowani. Streszczenie:
kto [opcja] [plik] [jestem]
źródło
Zawsze możesz pobrać bezpłatne narzędzie dla systemu UNIX o nazwie TOP. Tworzy listę użytkowników, a także to, co robią w tym czasie w systemie i będzie aktualizowana tak długo, jak działa.
Znajduje się na stronie http://www.unixtop.org/
Ma wiele przełączników wiersza poleceń, więc powinieneś być w stanie wyodrębnić informacje, których szukasz.
źródło
źródło
Jeśli szukasz całkowitej liczby zalogowanych i wylogowanych użytkowników we właściwej kolejności, najlepszym poleceniem do uruchomienia jest
źródło
cat -n
po prostu drukuje wszystkie linie w pliku, numerując każdy z nich. Otrzymasz listę użytkowników, którzy istnieją w tym systemie, ale nie dostaniesz dużo informacji o logowaniu.