it-swarm.com.de

Linux - Wie liste ich alle Benutzer auf?

Wie schreibe ich ein Skript für Linux, in dem alle Benutzer aus/etc/passwd und ihre UID aufgeführt sind

User1 uid=0001
User2 uid=0002

...

das Skript sollte verwendet werden: grep, cut, id, for 

9
awk -F: '$0=$1 " uid="$3' /etc/passwd

awk ist in diesem Fall einfacher. 

-F definiert Feldtrennzeichen als :

sie wollen also 1. und 3. Spalte. Erstellen Sie also den $0, um Ihr Ausgabeformat anzugeben. 

dies ist eine sehr grundlegende Verwendung von leistungsfähigem awk. Vielleicht möchten Sie einige Tutorials lesen, wenn Sie häufig mit einem solchen Problem konfrontiert sind.

Diesmal hast du Fisch, wenn ich du wäre, werde ich ein bisschen nachforschen, wie man fischen geht.

30
Kent

cut ist dafür nett:

cut -d: -f1 /etc/passwd

Dies bedeutet "Ausschneiden mit : als Trennzeichen, außer dem ersten Feld aus jeder Zeile der /etc/passwd-Datei".

8
Will

Ich denke, die beste Option ist das:
grep "/bin/bash" /etc/passwd | cut -d':' -f1

3
Sanjar Stone
awk  -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody

Gibt Ihnen alle regulären Benutzer (uid> = 1000) säuberlich geordnet einschließlich der Benutzer-ID.

0
sjas