2012-06-06 8 views
10

Jak mogę uzyskać identyfikator grupy grupy w mac os lub Linux? .Co to jest polecenie, aby uzyskać groupid nazwy grupy w mac lub Linux?

czyli Command GroupName ==> Należy zwrócić GroupID

np

Command staff ==> 20 
+2

ale to polecenie był wymagany do mojego rozwoju produktu. tj. w powłoce instalacyjnej skrypt – Rajasekhar

+0

Jest to prawidłowe i nietrywialne pytanie i powinno zostać ponownie otwarte. – ulidtko

+1

@ulidtko: To nie jest poprawne w Stack Overflow, niestety, ponieważ zasady są bardziej rygorystyczne w tych dniach, niż były kiedyś. Dobrze radzisz sobie z SOCVR. – halfer

Odpowiedz

20

W systemie Linux można użyć getent(1):

$ getent group staff 
staff:x:20: 

Jeśli chcesz tylko 20:

$ getent group staff | cut -d: -f3 
20 

na OS X, można użyć dscl(1):

$ dscl . -read /Groups/staff | awk '($1 == "PrimaryGroupID:") { print $2 }' 
20 

To może być łatwiejsze do korzystania z tego prostego polecenia python (używając grp library) mają ten sam wynik na obu platformach:

$ python -c 'import grp; print grp.getgrnam("staff").gr_gid' 
20 
+0

Można to zrobić również w ruby: 'ruby -e 'require" etc "; kładzie Etc :: getgrnam ("staff"). gid'' –

+0

jeszcze łatwiej: 'stat -c '% g' file-path' lub dla mac:' stat -f '% g' file-path' –

Powiązane problemy