标题说明了一切。我需要从终端运行什么命令来找到我的用户ID(UID)?

评论

使用echo $ UID?

#1 楼

有两种方法:



使用id命令可以获得真实有效的用户和组ID。

id -u <username>


如果没有为id提供用户名,它将默认为当前用户。


使用环境变量。

echo $UID




评论


GID呢?

– kangear
2015年10月29日,1:11

@kangear id -g <用户名>

–itsazzad
15年12月18日在15:23

值得注意的是,由于在将变量传递给命令之前已对它们进行了解析,因此我们将sudo echo $ {UID}打印出1000(或任何sudoer用户的UID是),而sudo id -u打印出0。

– AnthonyD973
18/12/19在20:33



用户名是可选的,默认为您自己。也许用方括号代替尖括号会更好。

–mwfearnley
19年5月13日在15:44

该答案的第二部分是错误的。所讨论的变量显然不是环境变量。这是一个shell变量。巨大差距。例如,您可以在Bash中通过echo $ UID vs env | grep ^ UID看到它。特别是这意味着第一种方法更健壮,第二种仅在shell脚本中有效,而不是在Python之类的系统中起作用(python -c'import os; print(os.environ)'可以查看环境)。

– 0xC0000022L
20/12/16在15:39

#2 楼

只需尝试

id


,这将返回您的用户ID,组ID和所有组。

评论


或id -u仅查看UID

–钢驾驶员
2014年5月17日13:21

是的如果您需要避免解析输出,请首选Jobin的答案。

–TAq
14年5月17日在13:25

使用id -u和id -g非常容易。谢谢。 :)

–thoroc
17年8月3日17:00

#3 楼

也尝试:

getent passwd username


这将显示用户ID,组ID和主目录。

或:

grep username /etc/passwd


评论


为什么根据问题,在echo $ UID和id -u是简单而准确的同时尝试使用long或替代命令?

–潘迪亚
2014年5月17日13:37



没错,但是知道所有选择很高兴

–nux
2014年5月17日13:38

#4 楼

您可以使用id命令。

联机帮助页