Perintah who Linux: periksa sesi login dan baca keluarannya
Perintah who menampilkan sesi pengguna yang tercatat sedang login, termasuk terminal dan waktu masuk. Gunakan who untuk memeriksa sesi yang tercatat pada server, bukan untuk menentukan identitas efektif perintah atau menghitung seluruh proses yang sedang berjalan.
Sintaks dan persiapan pemeriksaan
who [OPSI]
OPSI adalah penanda pilihan; untuk pemeriksaan biasa, cukup jalankan who tanpa argumen. Periksa who --version, who --help, dan man who pada sistem yang digunakan karena implementasi dan sumber catatan dapat berbeda.
Jalankan pemeriksaan pada mesin atau lingkungan yang ingin diperiksa. Hasil di dalam kontainer tidak otomatis menggambarkan seluruh sesi pada host. Who membaca catatan login yang tersedia, sehingga kelengkapan hasil bergantung pada pencatatan sesi tersebut.
Tampilkan sesi login yang tercatat
who
Pada keluaran biasa, setiap baris menunjukkan satu sesi yang tercatat: nama pengguna, terminal, waktu login, dan bila tersedia informasi asal koneksi. Nama yang sama dapat muncul beberapa kali ketika akun itu mempunyai sesi pada beberapa terminal.
Hasil ini berbeda dari identitas proses yang menjalankan perintah. Jika pertanyaannya siapa pengguna efektif shell saat ini, gunakan whoami untuk memeriksa pengguna efektif. Untuk ID pengguna (UID), ID kelompok (GID), dan kelompok proses, gunakan id untuk membaca identitas pengguna dan kelompok.
Tambahkan judul kolom
who -H
Opsi -H menambahkan baris judul agar arti kolom lebih mudah dibaca. Nama judul dan format tanggal dapat dipengaruhi bahasa serta lingkungan sistem; jangan menyalin satu susunan tampilan sebagai format universal untuk semua mesin.
Terminal seperti pts/0 menunjukkan jalur terminal untuk sesi tersebut. Waktu pada baris pengguna merupakan waktu login yang tercatat, bukan ukuran berapa lama pengguna tidak menyentuh terminal. Untuk informasi waktu menganggur pada GNU who, gunakan who -u.
Ringkas nama dan jumlah yang tercatat
who -q
Opsi -q menampilkan nama login beserta hitungan entri pengguna yang tercatat. Karena satu akun dapat mempunyai beberapa sesi, hitungan ini tidak harus sama dengan jumlah nama akun yang unik atau jumlah orang. Opsi -q mengesampingkan opsi keluaran lain pada GNU who.
Gunakan hasil ringkas ini untuk membandingkan catatan sesi pada saat pemeriksaan. Jangan menyimpulkan jumlah semua akun sistem, semua koneksi layanan, atau seluruh proses hanya dari angka tersebut.
Baca satu baris contoh dengan benar
who
Berikut adalah ilustrasi, bukan hasil pemeriksaan server Anda. Nama, waktu, terminal, dan asal koneksi pada keluaran sebenarnya dapat berbeda.
alice pts/0 2026-09-28 09:00 (192.0.2.10)
aliceadalah nama pengguna pada catatan sesi contoh.pts/0adalah terminal sesi tersebut; nama ini bukan alamat IP.2026-09-28 09:00adalah waktu login dalam format contoh, bukan waktu pemeriksaan atau lama menganggur.(192.0.2.10)menggambarkan informasi asal koneksi yang dapat muncul pada akhir baris. Bidang itu tidak selalu tersedia dan juga dapat berupa nama host atau informasi tampilan.
Satu baris ini menjelaskan catatan satu sesi. Baris yang sama tidak menunjukkan seluruh perintah yang dijalankan pengguna, daftar izin aksesnya, atau riwayat login lengkap.
Opsi GNU who yang sering digunakan
| Opsi | Kegunaan dan batas |
|---|---|
-H |
Menambahkan judul kolom. |
-q |
Merangkum nama login dan jumlah entri pengguna yang tercatat; bukan hitungan akun unik. |
-u |
Menambahkan informasi pengguna seperti lama menganggur setelah waktu login. |
-b |
Menampilkan waktu boot terakhir dari informasi yang tersedia, bukan daftar sesi biasa. |
Pada GNU who, penanda waktu menganggur berupa titik berarti pengguna aktif dalam satu menit terakhir, sedangkan old berarti lebih dari 24 jam. Jalankan who -b jika membutuhkan informasi boot; ketersediaan catatan tetap perlu diperhatikan. Rincian opsi tersedia dalam manual GNU coreutils 9.11, bagian who invocation dan manual GNU who yang ditayangkan di man7.
Jika keluaran kosong atau tidak lengkap
Pada sistem yang memakai utmp, catatan tersebut menyimpan informasi sesi login. Namun, tidak semua program mencatat pemakaian sistem di sana. Kontainer, instalasi minimal, atau sesi tertentu dapat mempunyai proses aktif tanpa entri login yang terlihat oleh who. Penjelasan keterbatasan catatan ini terdapat dalam manual format catatan utmp dan wtmp.
Bedakan keluaran kosong yang berhasil dari kegagalan membaca catatan. Perhatikan pesan galat dan periksa status perintah segera dengan printf '%s\n' "$?"; status nol berarti perintah berhasil, bukan jaminan tidak ada pengguna atau aktivitas lain. Periksa juga apakah Anda berada pada host atau kontainer yang benar serta apakah sumber catatan tersedia pada implementasi itu.
Jika tujuan Anda menelusuri aktivitas pengguna yang tercatat login, w dapat menambahkan informasi aktivitas proses sesuai implementasinya. Untuk audit akses atau koneksi layanan, periksa pula log autentikasi dan log layanan yang relevan. Jangan mengubah atau menghapus catatan login hanya untuk membuat keluaran who terlihat berbeda.
FAQ
Apakah keluaran kosong berarti tidak ada pengguna?
Tidak selalu. Catatan login yang tersedia dapat kosong atau tidak mencakup sesi tertentu. Periksa status perintah, lingkungan tempat perintah berjalan, dan log yang sesuai sebelum menarik kesimpulan.
Mengapa nama yang sama muncul lebih dari sekali?
Satu akun dapat masuk melalui beberapa terminal. Who menampilkan sesi yang tercatat, sehingga baris berulang tidak otomatis berarti ada akun tambahan.




