Lệnh who trong Linux là công cụ dòng lệnh dùng để hiển thị danh sách người dùng hiện đang đăng nhập vào hệ thống cùng với thông tin phiên làm việc tương ứng. Nhờ đó, bạn có thể nhanh chóng kiểm tra trạng thái đăng nhập, theo dõi hoạt động của người dùng và hỗ trợ quản trị hệ thống hiệu quả hơn. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh who trong Linux để kiểm tra người dùng đang đăng nhập một cách nhanh chóng và chính xác.
Những điểm chính
- Khái niệm: Hiểu rõ lệnh
wlà công cụ được sử dụng để giám sát các tài khoản đang hoạt động trên hệ thống. - Lý do nên sử dụng: Biết cách tận dụng lệnh
wđể kiểm soát an ninh, phát hiện sớm xâm nhập trái phép và chẩn đoán các vấn đề quá tải tài nguyên. - Cách sử dụng cơ bản: Nắm vững quy trình tra cứu nhanh danh sách người dùng đang online hoặc kiểm tra chi tiết một tài khoản cụ thể.
- Ý nghĩa các cột kết quả: Giải mã chính xác các thông số kỹ thuật như TTY, JCPU, PCPU để đánh giá đúng hành vi và mức tiêu thụ tài nguyên của tiến trình.
- Các tùy chọn mở rộng: Thành thạo cách sử dụng tham số
-s,-f,-hđể tùy biến giao diện hiển thị ngắn gọn hoặc chi tiết theo nhu cầu quản trị. - Phân biệt lệnh w và who: Nhận diện sự khác biệt giữa hai lệnh giám sát phổ biến để lựa chọn công cụ tối ưu nhất cho từng kịch bản xử lý sự cố.
- Cách khắc phục lỗi thường gặp: Biết cách xử lý triệt để lỗi “command not found” bằng việc cài đặt gói
procpstương ứng trên các bản phân phối Linux. - Câu hỏi thường gặp: Giải đáp các câu hỏi thường gặp liên quan đến lệnh w Linux.
Lệnh w Linux là gì?
Lệnh w Linux là công cụ được sử dụng để giám sát các tài khoản đang hoạt động trên hệ thống. Khi thực thi, lệnh này sẽ cung cấp các thông tin tổng quan bao gồm danh sách người dùng, thời điểm đăng nhập và các tác vụ cụ thể mà họ đang thực hiện. Bên cạnh đó, lệnh w còn hiển thị các chỉ số quan trọng như thời gian vận hành (uptime) và mức tải trung bình (load average), giúp bạn nhanh chóng đánh giá được hiện trạng sử dụng tài nguyên của máy chủ. Cú pháp cơ bản của lệnh w như sau:
w [option] [username]Trong đó:
- [
option]: Các tham số mở rộng để thay đổi định dạng hiển thị. [username]: Tham số không bắt buộc, được dùng khi bạn muốn xem thông tin của một người dùng cụ thể.

Lý do nên sử dụng lệnh w Linux
Dưới đây là các lý do nên sử dụng lệnh w:
- Kiểm soát truy cập tức thì: Lệnh w cung cấp khả năng hiển thị nhanh danh sách toàn bộ người dùng đang kết nối vào máy chủ, giúp quản trị viên nắm bắt ngay lập tức ai đang hiện diện trên hệ thống.
- Tăng cường an ninh mạng: Sử dụng lệnh w hỗ trợ nhận diện sớm các dấu hiệu xâm nhập trái phép hoặc các phiên đăng nhập có nguồn gốc từ địa chỉ IP lạ, giúp ngăn chặn kịp thời các hành vi đáng ngờ.
- Giám sát sức khỏe hệ thống: Đóng vai trò như một bảng điều khiển tổng quan, lệnh w cho phép theo dõi liên tục trạng thái vận hành thông qua các chỉ số uptime và load average.
- Hỗ trợ xử lý sự cố quá tải: Lệnh w cung cấp dữ liệu thực tế về các tiến trình đang chạy và mức tiêu thụ tài nguyên, làm cơ sở để quản trị viên đưa ra quyết định chính xác như ngắt kết nối hoặc tắt tiến trình khi server gặp hiện tượng nghẽn cổ chai.

Cách sử dụng lệnh w Linux cơ bản
Bước 1: Hiển thị danh sách toàn bộ người dùng đang đăng nhập
Để xem tổng quan hệ thống, bạn hãy gõ lệnh sau:
wKết quả trả về sẽ bao gồm các thông tin:
- Thời gian hiện tại của hệ thống.
- Thời gian uptime.
- Số lượng user đang online.
- Load Average – Chỉ số tải trung bình trong 1 phút, 5 phút và 15 phút.
- Bảng chi tiết gồm: Danh sách user, địa chỉ IP, terminal, thời gian rảnh (idle) và tiến trình đang chạy.

Bước 2: Xem thông tin của một user cụ thể
Nếu bạn chỉ muốn theo dõi phiên làm việc của một tài khoản nhất định, hãy thêm tên tài khoản đó vào sau lệnh:
w usernameVí dụ, để xem thông tin của user root, bạn dùng lệnh sau:
w rootKhi đó, hệ thống chỉ hiển thị thông tin phiên đăng nhập của user root.
Ý nghĩa các cột trong kết quả lệnh w Linux
Khi chạy lệnh w, hệ thống sẽ hiển thị một bảng dữ liệu. Dưới đây là ý nghĩa của từng cột thông tin:
- USER: Tên tài khoản người dùng đang đăng nhập.
- TTY: Tên của màn hình terminal đang được sử dụng.
- FROM: Địa chỉ IP hoặc hostname của máy trạm thực hiện kết nối.
- LOGIN@: Thời điểm người dùng bắt đầu đăng nhập.
- IDLE: Khoảng thời gian người dùng không thực hiện thao tác nào.
- JCPU: Tổng thời gian CPU sử dụng bởi tất cả các tiến trình gắn với terminal đó.
- PCPU: Thời gian CPU sử dụng bởi tiến trình hiện tại (được hiển thị ở cột WHAT).
- WHAT: Câu lệnh hoặc chương trình mà người dùng đang thực thi.
Một số tùy chọn thường dùng của lệnh w trong Linux
Bước 1: Hiển thị kết quả ngắn gọn
Để ẩn bớt các thông tin không cần thiết giúp giao diện dễ quan sát hơn, bạn dùng tùy chọn -s với lệnh đầy đủ như sau:
w -sBước 2: Hiển thị đầy đủ chi tiết
Để đảm bảo hệ thống hiển thị đầy đủ thông tin trường FROM (địa chỉ IP nguồn), bạn dùng tùy chọn -f:
w -fBước 3: Bỏ phần header
Nếu bạn chỉ muốn lấy danh sách user mà không cần xem các thông tin hệ thống ở dòng đầu tiên, hãy dùng tùy chọn -h:
w -hBước 4: Kết hợp nhiều tùy chọn
Bạn có thể kết hợp các tùy chọn lại với nhau. Ví dụ, để hiển thị ngắn gọn và bỏ qua phần header:
w -shSo sánh lệnh w và lệnh who trong Linux
Dưới đây là bảng so sánh chi tiết giữa hai lệnh w và who, giúp bạn phân biệt rõ phạm vi ứng dụng của từng công cụ:
| Lệnh | Chức năng |
|---|---|
| w | Hiển thị thông tin user + hành động (tiến trình) + tải hệ thống. |
| who | Chỉ hiển thị danh sách user đang đăng nhập và thời gian đăng nhập. |
Chi tiết cách lựa chọn lệnh w hay lệnh who như sau:
- Trường hợp nên dùng who: Khi bạn chỉ cần một danh sách nhanh gọn để xem user đang online mà không quan tâm đến tải hệ thống hay công việc của họ.
- Trường hợp nên dùng w: Nếu bạn cần chẩn đoán sự cố hoặc nghi ngờ có hoạt động bất thường thì lệnh w là lựa chọn tối ưu hơn vì lệnh này cung cấp thông tin bao quát về tình hình máy chủ lẫn hành động cụ thể của từng tài khoản trong một màn hình duy nhất.
Cách khắc phục lỗi thường gặp khi dùng lệnh w trong Linux
Khi chạy lệnh w Linux, bạn có thể gặp thông báo lỗi xuất hiện như sau:
w: command not foundNguyên nhân gây lỗi này thường do gói phần mềm quản lý tiến trình chưa được cài đặt. Để khắc phục, bạn hãy chạy lệnh cài đặt tương ứng với hệ điều hành:
- Trên Ubuntu/Debian:
sudo apt install procps- Trên CentOS/RHEL:
sudo yum install procps
Câu hỏi thường gặp
Sự khác biệt giữa JCPU và PCPU là gì?
Đây là hai chỉ số trong lệnh w, trong đó:
– JCPU (Job CPU): Là tổng thời gian CPU được sử dụng bởi tất cả các tiến trình gắn liền với màn hình terminal đó, bao gồm cả các tiến trình đã chạy xong.
– PCPU (Process CPU): Là thời gian CPU chỉ dành riêng cho tiến trình hiện tại đang chạy và được hiển thị ở cột WHAT.
Làm thế nào để ngắt kết nối một user mà tôi tìm thấy qua lệnh w?
Lệnh w chỉ có chức năng theo dõi, không có chức năng kết thúc tiến trình. Tuy nhiên, bạn có thể lấy tên terminal (cột TTY) từ kết quả lệnh w và sử dụng lệnh pkill để ngắt kết nối. Giả sử,
để ngắt kết nối user trên terminal pts/0, bạn thực hiện lệnh sau:
sudo pkill -9 -t pts/0
Cột IDLE hiển thị “old” nghĩa là gì?
Nếu cột IDLE hiển thị thời gian, đó là khoảng thời gian user không tương tác với bàn phím. Nếu cột này hiển thị chữ “old”, nghĩa là user đó đã không tương tác trong một khoảng thời gian rất dài (thường là hơn 24 giờ), cho thấy phiên làm việc này có thể đã bị treo hoặc user quên đăng xuất.
Hy vọng qua bài viết này, bạn đã nắm vững cách sử dụng lệnh w để kiểm tra người dùng đang đăng nhập, theo dõi tiến trình hoạt động cũng như tình trạng tải của hệ thống một cách nhanh chóng. Đây là công cụ cực kỳ quan trọng trong công tác quản trị server và giám sát bảo mật. Bạn hãy áp dụng thường xuyên để quản lý hệ thống Linux hiệu quả và an toàn hơn.




