Câu trả lời:
Liệt kê tất cả người dùng với một /homethư mục:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
hoặc tất cả người dùng có UID >= 1000:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
một sự kết hợp
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
hoặc cho tất cả các mục
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Thêm thông tin tại đây
Bạn có thể tìm thấy nó dễ dàng chỉ bằng cách sử dụng cut:
cut -d: -f1,3 /etc/passwd
-d: đặt dấu phân cách là : chocut
-f1,3 trích xuất trường 1 và 3 chỉ giới hạn bởi : từ /etc/passwdtệp
Kiểm tra man cutđể có thêm ý tưởng.
Thí dụ :
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
Nếu bạn đã ldapcấu hình, để bao gồm ldapngười dùng trong đầu ra:
getent passwd | cut -d: -f1,3
getent passwdthay vì / etc / passwd vì sau này sẽ không bao gồm người dùng ldap
ldap) tôi đã chuyển đến teh hiện one..anyway chỉnh sửa :)