ฉันจะแสดงผู้ใช้และกลุ่มทั้งหมดด้วยคำสั่งได้อย่างไร


123

ฉันต้องการที่จะแสดง:

  1. ผู้ใช้ทั้งหมดและ
  2. ทุกกลุ่ม

    ในระบบของฉันโดยใช้บรรทัดคำสั่ง

usersและgroupsคำสั่งแสดงผู้ใช้ที่เข้าสู่ระบบในปัจจุบันและกลุ่มผู้ใช้ที่เป็นของตามลำดับ

วิธีการแสดงรายการของผู้ใช้ทั้งหมดและทุกกลุ่มโดยบรรทัดคำสั่ง?

คำตอบ:


189

คุณสามารถแสดงด้วยความช่วยเหลือของcompgenคำสั่ง builtin ดังนี้:

  1. ในการแสดงผู้ใช้ทั้งหมดให้รันคำสั่งต่อไปนี้:

    compgen -u
    
  2. ในการแสดงกลุ่มทั้งหมดให้รันคำสั่งต่อไปนี้:

    compgen -g
    

cut -d ":" -f 1 /etc/passwdแต่คุณยังสามารถแสดงผู้ใช้งานทั้งหมด


14
ดี! มันอาจจะดีกว่าที่จะใช้getent passwd/ getent groupแทนที่จะ cat'ing ไฟล์ท้องถิ่น ( getentควรจะทำงานสำหรับบัญชีที่ไม่ใช่ท้องถิ่นเช่นกัน)
steeldriver

@steeldriver compgenดูเหมือนจะใช้งานได้กับบัญชีที่ไม่ใช่ภายในเครื่อง (อย่างน้อยสำหรับ LDAP)
muru

1
@muru ฉันหมายถึงวิธีที่สองโดยเฉพาะ ( cat /etc/passwd | cut -d ...)
steeldriver

@steeldriver อ่าขอโทษ ฉันคิดว่านั่นเป็นการสังเกตทั่วไปมากกว่า
muru

ดีในอูบุนตูของฉันฉันมีบางไฟล์ที่สร้างขึ้นโดยนักเทียบท่าติดกับ999:999เป็นuser:groupแต่น่าเสียดายที่ไม่มีคำสั่งดังกล่าวพิมพ์พวกเขา
Marinos An
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.