📅  最后修改于: 2023-12-03 14:50:13.148000             🧑  作者: Mango
在 Linux Shell 中,我们可以通过 cut
命令和 /etc/passwd
文件来列出所有用户信息。具体方法如下:
cut -d: -f1 /etc/passwd
上述命令中,-d
参数指定了字段分隔符为 :
,-f1
参数表示只取出第一列(即用户名),最后指定文件路径即可。
如果需要将输出保存到文件中,可以使用重定向符 >
,例如:
cut -d: -f1 /etc/passwd > users.txt
这样就会将所有用户的用户名输出到 users.txt
文件中。
除了 cut
命令之外,我们也可以使用 awk
命令来实现同样的功能。具体命令如下:
awk -F: '{print $1}' /etc/passwd
上述命令中,-F
参数指定了字段分隔符为 :
,{print $1}
表示打印第一列(即用户名),最后指定文件路径即可。
同样地,如果需要将输出保存到文件中,可以使用重定向符 >
,例如:
awk -F: '{print $1}' /etc/passwd > users.txt
除此之外,我们也可以使用 grep
命令来过滤出包含 /bin/bash
的行,从而列出所有使用 Bash 作为默认 Shell 的用户。具体命令如下:
grep /bin/bash /etc/passwd | cut -d: -f1
上述命令中,grep
命令用于过滤出包含 /bin/bash
的行,然后使用 cut
命令取出第一列(即用户名),最后输出即可。
同样地,如果需要将输出保存到文件中,可以使用重定向符 >
,例如:
grep /bin/bash /etc/passwd | cut -d: -f1 > users.txt
总之,这些命令都可以很方便地列出所有用户的用户名,我们可以根据自己的需要选择合适的命令。