Secara klasik, perintahnya adalah 'siapa' daripada 'pengguna', tetapi 'siapa' memberi Anda lebih banyak informasi. Melihat kembali artikel Unix asli (pertengahan 70-an), contohnya adalah:
who | wc -l
Menggunakan 'wc -l' menghitung garis output - ini bekerja dengan baik 'pengguna' dan 'siapa'. Menggunakan '-w' hanya berfungsi 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:
who | grep -c .
Selalu ada setidaknya satu karakter di setiap baris.
Seperti disebutkan dalam komentar oleh John T, kode users
perintah berbeda dari who
dalam beberapa hal. Yang paling penting adalah bahwa alih-alih memberikan satu nama per baris, itu menyebarkan beberapa nama per baris - Saya tidak memiliki mesin dengan cukup banyak pengguna 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' tampaknya mencantumkan pengguna yang masuk sekali saja.
Sebagai konsekuensi dari perbedaan ini, 'grep -c .
' formulasi tidak akan berfungsi dengan perintah 'pengguna'; 'wc -w
' diperlukan.
Anda mencari wc
(jumlah kata) perintah.
Coba ini:
users | wc -w
Buka shell dan ketik:
who -q
Baris terakhir akan memberi Anda hitungan.
EDIT:
(mendesah) Saya salah mengerti pertanyaannya. Inilah pendekatan yang agak kasar:
Untuk melihat nama pengguna unik:
who | awk '{ print $1 }' | sort | uniq
Untuk melihat jumlah pengguna unik:
who | awk '{ print $1 }' | sort | uniq | wc -l