NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
17/09/2024
Lượt xem

Lệnh who trong Linux là gì? Hướng dẫn sử dụng lệnh qua 6 ví dụ thực tế

17/09/2024
13 phút đọc
Lượt xem

Đánh giá

Lệnh who trong Linux là một công cụ giúp người dùng kiểm tra các thông tin quan trọng về trạng thái của hệ thống và người dùng hiện đang đăng nhập. Trong bài viết này, Vietnix sẽ cùng bạn tìm hiểu lệnh who và cách sử dụng lệnh với 5 ví dụ chi tiết giúp bạn quản lý hệ thống Linux một cách hiệu quả.

Lệnh who trong Linux là gì?

Lệnh who trong Linux là một công cụ hữu ích giúp cung cấp thông tin về người dùng hiện tại đang đăng nhập vào hệ thống.

Lệnh who trong Linux
Lệnh who trong Linux

Với tính năng cung cấp thông tin về người dùng hiện tại, lệnh man được xem là một dòng lệnh hữu ích trong quá trình chạy lệnh trên hệ điều hành Linux. Bạn có thể ứng dụng ngay với một số hệ điều hành dựa trên Linux như Ubuntu.

Ngoài ra, bạn có thể tham khảo thêm các câu lệnh trong Linux để hiểu thêm chi tiết về hệ điều hành

Cú pháp cơ bản của lệnh who

who [OPTION]... [FILE]

Lệnh who trong Linux nhận các [OPTION][FILE] như một đối số.

Trong đó:

  • [OPTION][FILE] được đặt trong dấu ngoặc vuông nghĩa là các đối số này không phải là bắt buộc cho lệnh.
  • Và dấu ba chấm phía trước OPTION cho thấy rằng lệnh who có thể nhận nhiều tùy chọn cùng lúc.

12 tùy chọn sử dụng lệnh who

Bạn hoàn toàn có thể điều chỉnh cách lệnh who hoạt động bằng cách thêm các tùy chọn khác nhau vào cú pháp ban đầu. Để hỗ trợ bạn, Vietnix đã tổng hợp các tùy chọn thông dụng nhất ngay bên dưới. Tuy nhiên, nếu bạn cần tìm thêm những tùy chọn khác không có trong danh sách này, bạn có thể dễ dàng tra cứu trên trang hướng dẫn (man page) bằng cách nhập lệnh man theo cú pháp sau vào Terminal và nhấn ENTER để truy cập:

man who
Tùy chọnMô tả
-b,-bootHiển thị thời gian khởi động hệ thống lần cuối
-d, -deadHiển thị các tiến trình đã kết thúc
-H, -headingHiển thị tiêu đề các cột
-helpHiển thị phần trợ giúp và thoát
-l, -loginHiển thị các tiến trình đăng nhập vào hệ thống
-q, -countHiển thị tên đăng nhập và số lượng người dùng đang đăng nhập
-r, -runlevelHiển thị mức chạy hiện tại của hệ thống
-s, -shortMặc định chỉ hiển thị tên, dòng, và thời gian
-t, -timeHiển thị lần thay đổi đồng hồ hệ thống gần nhất
-T, -w, -mesgThêm trạng thái tin nhắn của người dùng với các ký hiệu +, , hoặc ? tương ứng với sẵn sàng nhận tin nhắn, bận, và không xác định
-u, -usersHiển thị danh sách người dùng đang đăng nhập
-versionHiển thị thông tin phiên bản và thoát

Lưu ý: Tất cả các tùy chọn trong Linux phân biệt chữ hoa và chữ thường, vì vậy cần cẩn thận khi sử dụng chúng.

Ví dụ 1: Hiển thị tên người dùng đăng nhập ở thời điểm hiện tại

Bạn có thể sử dụng lệnh who trong terminal để in ra tên người dùng, tên terminal, và thời gian đăng nhập của tất cả những người dùng hiện đang đăng nhập vào hệ thống. Để thực hiện, hãy làm theo các bước sau:

Bước 1: Trước tiên, bạn cần mở Terminal trên Ubuntu.

Bước 2: Sau đó, gõ lệnh sau vào command prompt rồi bấm ENTER và đợi kết quả.

who

Kết quả

Sau khi thực hiện cú pháp trên, lệnh này đã in ra thông tin của người dùng hiện đang đăng nhập vào hệ thống, bao gồm:

  • Tên người dùng: susmit (người dùng hiện tại đang đăng nhập).
  • Tên terminal: tty2 (thiết bị mà người dùng đang sử dụng).
  • Thời gian đăng nhập: 2023-02-06 09:27 (thời điểm người dùng đã đăng nhập vào hệ thống).
Hiển thị thông tin người dùng đăng nhập với lệnh who
Hiển thị thông tin người dùng đăng nhập với lệnh who

Ví dụ 2: Hiển thị hostname và người dùng liên quan đến các thiết bị input/output

Bằng cách sử dụng các tùy chọn -m-H của lệnh who, bạn có thể dễ dàng hiển thị tên máy chủ (hostname) và người dùng liên quan đến các thiết bị nhập/xuất như bàn phím. Để thực hiện điều này, hãy làm theo các bước sau:

Bước 1: Trước tiên, bạn cần mở Terminal trên Ubuntu.

Bước 2: Sau đó, bạn hãy nhập dòng lệnh sau:

who -m -H

Bước 3: Cuối cùng, bạn nhấn ENTER là hoàn tất.

Kết quả

Như bạn có thể thấy kết quả của lệnh who -m -H trong Terminal trên Ubuntu. Lệnh này được sử dụng để hiển thị tên máy chủ (hostname) và tên người dùng đang sử dụng thiết bị đầu vào/đầu ra (như bàn phím) trên hệ thống (tương tự với lệnh hostname).

Hiển thị tên máy và người dùng với lệnh who -m -H trên Ubuntu
Hiển thị tên máy và người dùng với lệnh who -m -H trên Ubuntu

Ví dụ 3: Hiển thị thông tin chi tiết của người dùng đang đăng nhập

Bạn chỉ cần sử dụng tùy chọn -a với lệnh who trong Linux để xem tất cả các chi tiết liên quan đến người dùng đang đăng nhập vào hệ thống. Để thực hiện, bạn hãy làm theo các bước sau:

Bước 1: Trước tiên, bạn cần mở Terminal trên Ubuntu.

Bước 2: Tiếp đó, bạn gõ lệnh sau vào dòng lệnh:

who -a

Bước 3: Cuối cùng, bạn nhấn ENTER để thực thi lệnh.

Kết quả

Lệnh who -a giúp hiển thị toàn bộ thông tin chi tiết liên quan đến trạng thái hệ thống và người dùng đang đăng nhập, bao gồm cả các thông tin không hiển thị với các tùy chọn khác của lệnh who.

  • system boot: Thời điểm hệ thống được khởi động.
  • run-level: Mức độ chạy hiện tại của hệ thống (run level).
  • susmit + tty2: Tên người dùng (susmit) đăng nhập qua thiết bị đầu cuối (tty2) cùng với thời gian đăng nhập và mã tiến trình liên quan.
Hiển thị chi tiết phiên đăng nhập và trạng thái hệ thống với lệnh who -a 
Hiển thị chi tiết phiên đăng nhập và trạng thái hệ thống với lệnh who -a 

Ví dụ 4: Hiển thị trạng thái tin nhắn của người dùng

Khi kết hợp các tùy chọn -T-H của lệnh who trong Linux , bạn có thể kiểm tra trạng thái tin nhắn của người dùng được biểu thị bằng các ký hiệu “+”, “”, hoặc “?”. Để thực hiện điều này, hãy làm theo các bước sau:

Bước 1: Bạn hãy mở Terminal trên Ubuntu.

Bước 2: Sau đó, bạn sao chép và dán lệnh sau vào Terminal:

who -T -H

Bước 3: Cuối cùng, bạn nhấn phím ENTER để hiển thị trạng thái tin nhắn của người dùng.

Kết quả

Hình ảnh output dưới đây thể hiện cách lệnh who -T -H hiển thị trạng thái tin nhắn của người dùng. Trong đó biểu tượng “+” xuất hiện, điều này cho thấy người dùng đang sẵn sàng nhận tin nhắn.

Hiển thị trạng thái tin nhắn và thông tin đăng nhập người dùng với lệnh who -T -H
Hiển thị trạng thái tin nhắn và thông tin đăng nhập người dùng với lệnh who -T -H

Lưu ý: Ký hiệu “+” có nghĩa là người dùng sẵn sàng nhận tin nhắn. Nếu ký hiệu “” xuất hiện, điều đó có nghĩa là người dùng trên terminal đang bận và có thể không nhận được tin nhắn. Nếu ký hiệu “?” xuất hiện, điều đó có nghĩa là trạng thái tin nhắn của người dùng không rõ.

Ví dụ 5: Hiển thị danh sách người dùng đang đăng nhập

Việc sử dụng tùy chọn -u của lệnh who giúp bạn hiển thị danh sách tất cả người dùng hiện đang đăng nhập vào hệ thống một cách dễ dàng. Hãy thực hiện theo các bước sau để tiến hành:

Bước 1: Bạn hãy mở Terminal trên hệ điều hành Ubuntu.

Bước 2: Tiếp theo, bạn nhập lệnh sau:

who -u

Bước 3: Cuối cùng, bạn nhấn ENTER để thực thi lệnh.

Kết quả

Tùy chọn -u của lệnh who đã hiển thị toàn bộ danh sách tất cả người dùng hiện đang đăng nhập vào hệ thống, cùng với thông tin chi tiết về mỗi phiên đăng nhập. Cụ thể:

  • Tên người dùng: “susmit” là người dùng đang đăng nhập.
  • Thiết bị đầu cuối: “tty2” là thiết bị đầu cuối mà người dùng đang sử dụng.
  • Thời gian đăng nhập: Thời gian mà người dùng đã đăng nhập vào hệ thống.
  • Thời gian hoạt động: Thời gian kể từ khi người dùng đăng nhập, hiển thị dưới dạng giờ và phút.
  • Mã tiến trình: 1866 là PID của phiên đăng nhập.
Hiển thị danh sách người dùng đang đăng nhập với lệnh who -u
Hiển thị danh sách người dùng đang đăng nhập với lệnh who -u

Ví dụ 6: Hiển thị danh sách các tiến trình đã kết thúc (dead processes)

Khi kết hợp linh hoạt các tùy chọn -d-H của lệnh who, bạn sẽ có thể xuất ra toàn bộ danh sách các tiến trình đã kết thúc (dead processes) chỉ với 3 bước sau:

Bước 1:  bạn hãy mở Terminal trên Ubuntu.

Bước 2: Tiếp theo, bạn nhập lệnh sau vào cửa sổ Terminal:

who -d -H

Bước 3: Nhấn ENTER để xem kết quả.

Kết quả

Lệnh who -d -H là sự kết hợp của hai tùy chọn: -d để liệt kê các tiến trình đã chấm dứt và -H để thêm tiêu đề cột nhằm cung cấp một cái nhìn chi tiết về các tiến trình này. Kết quả nhận được sau khi lệnh chạy xong là danh sách liệt kê các tiến trình đã kết thúc trên hệ thống.

Hiển thị danh sách các tiến trình đã kết thúc với lệnh who -d -H
Hiển thị danh sách các tiến trình đã kết thúc với lệnh who -d -H

Câu hỏi thường gặp

Lệnh who có thể hiển thị thông tin về các phiên đăng nhập từ xa không?

Có thể. Người dùng khi thực hiện lệnh sẽ được hiển thị các thông tin như tên người dùng; thiết bị đầu cuối; địa chỉ IP và thời gian đăng nhập.

Có thể sử dụng lệnh who để tìm kiếm thông tin về các phiên đăng nhập đã kết thúc không?

Câu trả lời là không. Lệnh who chỉ cung cấp danh sách các người dùng hiện đang đăng nhập vào hệ thống cùng với một số thông tin liên quan như tên thiết bị đầu cuối, thời gian đăng nhập và địa chỉ IP.

Lời kết

Hy vọng qua bài viết này, bạn đã có được những hiểu biết cần thiết để tận dụng tối đa lệnh who trong công việc hàng ngày của mình trên Linux. Nếu có bất cứ vấn đề gì cần hỗ trợ hay thắc mắc cần giải đáp thì bạn đừng ngần ngại để lại bình luận phía bên dưới để Vietnix có thể giúp đỡ bạn. Chúc bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG