Bagaimana saya bisa melihat berapa banyak orang yang masuk ke mesin Linux? Saya tahu perintah 'pengguna' menunjukkan semua orang yang masuk tetapi saya perlu nomor. Apakah ada saklar untuk pengguna yang saya lewatkan di halaman manual? Saya berpikir untuk menggunakan grep -c
perintah, tetapi harus ada sesuatu yang sama di setiap nama pengguna agar ini berfungsi. Apakah ada cara yang lebih mudah?
10
Secara klasik, perintahnya adalah 'siapa' daripada 'pengguna', tetapi 'siapa' memberi Anda lebih banyak informasi. Melihat kembali artikel Unix asli (pertengahan 70-an), contohnya adalah:
Menggunakan 'wc-l' menghitung garis output - ini bekerja dengan
'pengguna' dan'siapa'. Menggunakan '-w' hanya bekerja dengan andal bila ada satu kata per pengguna (seperti dengan 'pengguna' tetapi tidak dengan 'siapa').Anda bisa menggunakan 'grep -c' untuk menghitung garis. Karena Anda hanya tertarik pada nama pengguna yang tidak kosong, Anda dapat melakukan:
Selalu ada setidaknya satu karakter di setiap baris.
Seperti dicatat dalam komentar oleh John T ,
users
perintah berbeda dariwho
dalam beberapa hal. Yang paling penting adalah bahwa alih-alih memberikan satu nama per baris, itu menyebarkan nama beberapa kali per baris - Saya tidak memiliki mesin dengan pengguna yang cukup berbeda yang masuk untuk menguji apa yang terjadi ketika jumlah pengguna menjadi besar. Perbedaan lainnya adalah 'siapa' yang melaporkan koneksi terminal yang digunakan. Dengan beberapa jendela terminal terbuka, itu akan menampilkan beberapa baris untuk satu pengguna, sedangkan 'pengguna' sepertinya mendaftar pengguna yang masuk sekali saja.Sebagai konsekuensi dari perbedaan ini,
grep -c .
formulasi ' ' tidak akan berfungsi dengan perintah 'pengguna'; 'wc -w
' itu perlu.sumber
Buka shell dan ketik:
Baris terakhir akan memberi Anda hitungan.
EDIT:
(menghela nafas) Saya salah paham pertanyaannya. Inilah pendekatan yang agak kasar:
Untuk melihat nama pengguna yang unik:
Untuk melihat jumlah pengguna unik:
sumber
Apakah Anda ingin melihat jumlah sesi, atau jumlah pengguna yang sebenarnya ?
Itu ada di laptop saya, jadi saya satu-satunya pengguna, tapi saya masuk tiga kali.
Sangat mudah untuk memfilter duplikat ini meskipun untuk mendapatkan jumlah pengguna yang sebenarnya.
sumber
Berikut ini adalah versi bash dari postingan awk tink yang bagus:
Ok, ini sedikit lebih lama, tetapi layak untuk menemukan yang ini ... :).
Saat menguji, lakukan sebelum upaya berikutnya:
sumber
jumlah pengguna yang saat ini masuk:
buta di atas dengan nama akun mereka:
sumber
Siapa yang mencetak daftar, memotong menghapus semuanya kecuali baris pertama, mengurutkan -u mengurutkannya dan menghapus duplikat dan wc -l menghitung garis. Bekerja dengan baik untuk saya di ubuntu / bash :)
sumber
Anda cukup menggunakan
w
(/usr/bin/w
pada sistem berbasis Red Hat saya) atauuptime
, mereka menunjukkan jumlah sebenarnya pengguna yang masuk.w:
waktu aktif:
sumber
Dan metode yang hanya menggunakan satu pipa ...
:}
sumber
http://www.gnu.org/software/coreutils/manual/html_node/who-invocation.html
"siapa" mencetak informasi tentang pengguna yang saat ini masuk. Ringkasan:
siapa [opsi] [file] [saya]
sumber
Anda selalu dapat mengunduh alat gratis untuk unix yang disebut TOP. Ini menghasilkan daftar pengguna dan juga apa yang mereka lakukan pada sistem pada saat itu dan akan terus memperbarui selama masih berjalan.
Itu terletak di http://www.unixtop.org/
Ini memiliki banyak saklar baris perintah sehingga Anda harus dapat mengekstrak informasi yang Anda cari.
sumber
sumber
Jika Anda mencari jumlah total pengguna yang masuk dan keluar dalam urutan yang tepat, perintah terbaik untuk dijalankan adalah
sumber
cat -n
hanya mencetak semua baris dalam file, menomori masing-masing. Anda akan mendapatkan daftar pengguna yang ada di sistem itu, tetapi Anda tidak akan mendapatkan banyak info masuk.