Câu trả lời:
Liệt kê tất cả người dùng với một /home
thư 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/passwd
tệ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 đã ldap
cấu hình, để bao gồm ldap
người dùng trong đầu ra:
getent passwd | cut -d: -f1,3
getent passwd
thay 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 :)