Shell-Script
列出 Linux 伺服器上所有使用者名的命令
什麼命令可以生成 Linux 伺服器上所有授權使用者的使用者名列表?我試過了
getent passwd | cut -d : -f 1 | xargs groups
和
less /etc/passwd
和
grep 'x:0:' /etc/passwd
和
getent passwd
和
grep "/bin/bash" /etc/passwd | cut -d: -f1
但以上都沒有給我我想要的,這只是一個使用者名列表。
任何幫助將不勝感激
使用您的第一次嘗試,但刪除
| xargs groups
. 真的,雖然,這是足夠基本的,它並不完全適合這個網站……
awk(1) 是另一個有用的工具。awk 能夠根據指定的分隔符從文本行中解析單個欄位。在 /etc/passwd 的情況下,該分隔符是一個冒號,因此我們在 awk 命令行上傳遞 ‘-F:’。同樣,由於使用者名是該行的第一個欄位,而 awk 的數字欄位從 1 開始,我們規定 ‘print $1’ 告訴 awk 列印每行的第一個欄位。
awk -F: '{ print $1 }' < /etc/passwd
這可以很容易地適應列印 passwd 文件中的任何欄位。以下是每個使用者名(欄位 1)的列表,後跟一個空格,然後是他們的登錄 shell(欄位 7):
awk -F: '{ print $1, $7 }' < /etc/passwd