Làm cách nào tôi có thể hiển thị tất cả người dùng và nhóm bằng một lệnh?


123

Tôi muốn hiển thị:

  1. Tất cả người dùng và
  2. Tất cả các nhóm

    trong hệ thống của tôi bằng cách sử dụng dòng lệnh.

usersgroupscác lệnh hiển thị người dùng hiện đang đăng nhập và nhóm người dùng thuộc về tương ứng.

Làm cách nào để hiển thị danh sách tất cả người dùng và tất cả các nhóm theo dòng lệnh?

Câu trả lời:


189

Bạn có thể hiển thị với sự trợ giúp của compgenlệnh dựng sẵn như sau:

  1. Để hiển thị tất cả người dùng chạy lệnh sau:

    compgen -u
    
  2. Để hiển thị tất cả các nhóm chạy lệnh sau:

    compgen -g
    

Tuy nhiên, bạn cũng có thể hiển thị tất cả người dùng bằng cách cut -d ":" -f 1 /etc/passwd.


14
Đẹp! có thể nên sử dụng getent passwd/ getent groupthay vì sử dụng các tệp cục bộ ( getentcũng nên hoạt động cho các tài khoản không phải cục bộ)
Steeldo

@steel ấn compgendường như hoạt động đối với các tài khoản không phải địa phương (ít nhất là đối với LDAP).
muru

1
@muru Tôi đã đề cập đến phương pháp thứ hai cụ thể ( cat /etc/passwd | cut -d ...)
Steeldo

@steel ấn Ah, xin lỗi. Tôi nghĩ rằng đó là một quan sát tổng quát hơn.
muru

Vâng, trên ubuntu tôi, tôi có một số tác phẩm được tạo ra bởi Docker gắn với 999:999như user:group, nhưng tiếc là không ai trong số các lệnh trên sẽ in chúng.
Marinos An
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.