GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menemukan jumlah pengguna online di Linux?

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 

Linux
  1. Cara Menggunakan Perintah find Linux untuk Menemukan File

  2. Bagaimana menemukan semua file yang jarang di Linux

  3. Cara menemukan ukuran buffer soket linux

  1. Cara Menemukan Semua Pengguna Sudo Di Linux

  2. Bagaimana saya bisa menemukan file header dari bahasa pemrograman C di Linux?

  3. Bagaimana saya bisa menghitung jumlah folder di drive menggunakan Linux?

  1. Cara Mengetahui Apakah Disk Adalah SSD Atau HDD Di Linux

  2. Bagaimana Anda bisa menemukan nomor prosesor tempat utas berjalan?

  3. Cara mem-pipe hasil 'find' ke mv di Linux