Trong bài viết trước đó, chúng tôi đã giải thích 11 cách để tìm thông tin tài khoản người dùng và chi tiết đăng nhập trong Linux. Một trong các lệnh khác nhau mà chúng tôi đã đề cập đến là lệnh who hiển thị người dùng hiện đang đăng nhập vào hệ thống Linux, bao gồm các terminal mà họ đang kết nối.
Bài viết này sẽ giải thích một số ví dụ hữu ích về lệnh who cho người mới học Linux.
Cú pháp cơ bản để sử dụng lệnh who như sau.
$ who who [OPTION]... [ FILE | ARG1 ARG2 ]
1. Nếu bạn chạy lệnh who mà không có bất kỳ đối số nào, nó sẽ hiển thị thông tin tài khoản (tên đăng nhập người dùng, terminal của người dùng, thời gian đăng nhập cũng như máy chủ người dùng đăng nhập từ) trên hệ thống của bạn tương tự như đầu ra được hiển thị dưới đây.
$ who
ravi tty1 2018-03-16 19:27
tecmint pts/0 2018-03-16 19:26 (192.168.56.1)
root pts/1 2018-03-16 19:27 (192.168.56.1)
2. Để in tiêu đề các cột được hiển thị, sử dụng cờ -H như được hiển thị dưới đây.
$ who -H
NAME LINE TIME COMMENT
ravi tty1 2018-03-16 19:27
tecmint pts/0 2018-03-16 19:26 (192.168.56.1)
root pts/1 2018-03-16 19:27 (192.168.56.1)
3. Để in tên đăng nhập và tổng số người dùng đang đăng nhập, sử dụng cờ -q.
$ who -q
ravi tecmint root
# users=3
4. Trong trường hợp bạn muốn chỉ hiển thị tên máy chủ và người dùng liên quan đến stdin, sử dụng cờ -m.
$ who -m
tecmint pts/0 2018-03-16 19:26 (192.168.56.1)
5. Tiếp theo, để thêm trạng thái tin nhắn của người dùng như +, -, hoặc ?, sử dụng tùy chọn -T.
$ who -T
ravi + tty1 2018-03-16 19:27
tecmint + pts/0 2018-03-16 19:26 (192.168.56.1)
root + pts/1 2018-03-16 19:27 (192.168.56.1)
Lệnh who cũng giúp bạn xem một số thông tin hệ thống hữu ích như thời gian khởi động cuối cùng, runlevel hiện tại (mục tiêu trong systemd), in tiến trình đã chết cũng như tiến trình được tạo bởi init.
6. Để xem thời gian khởi động hệ thống cuối cùng, sử dụng cờ -b và thêm tùy chọn -u cho phép liệt kê người dùng đang đăng nhập trong cùng một đầu ra.
$ who -b
system boot 2018-01-19 02:39
$ who -bu
system boot 2018-03-16 19:25
ravi tty1 2018-03-16 19:27 00:33 2366
tecmint pts/0 2018-03-16 19:26 . 2332 (192.168.56.1)
root pts/1 2018-03-16 19:27 00:32 2423 (192.168.56.1)
7. Bạn có thể kiểm tra runlevel hiện tại bằng tùy chọn -r.
$ who -r
run-level 3 2018-03-16 02:39
8. Lệnh sau sẽ in các tiến trình đã chết.
$ who -d
pts/1 2018-03-16 11:10 9986 id=ts/1 term=0 exit=0
9. Hơn nữa, để xem các tiến trình hoạt động được tạo bởi init, sử dụng tùy chọn -p.
$ who -p
10. Cuối cùng, cờ -a cho phép in đầu ra mặc định kết hợp với thông tin từ một số tùy chọn mà chúng tôi đã trình bày.
$ who -a
system boot 2018-06-16 02:39
run-level 3 2018-01-19 02:39
LOGIN tty1 2018-01-19 02:39 3258 id=1
LOGIN ttyS0 2018-01-19 02:39 3259 id=S0
tecmnt + pts/0 2018-03-16 05:33 . 20678 (208.snat-111-91-115.hns.net.in)
pts/1 2018-03-14 11:10 9986 id=ts/1 term=0 exit=0
Bạn có thể tìm thêm tùy chọn bằng cách tham khảo trang man của who.
$ man who
Trong bài viết này, chúng tôi đã giải thích 10 ví dụ lệnh who cho người mới học Linux. Sử dụng phần bình luận dưới đây để đặt câu hỏi hoặc đưa ra phản hồi.