cygwin bash 获取特定文件的最后修改用户ID

cygwin bash 获取特定文件的最后修改用户ID

我正在尝试获取修改特定文件的人的用户名:

stat -c "%u" somefilename.name

该脚本返回一个数字,例如544

这是什么意思?我希望得到这样的用户名myUsername

答案1

您可以从此命令获取数字用户 ID(编辑:所有者的用户 ID,而不是最后修改文件的用户)。要获取相关的用户名,请尝试getent passwd 544(我不知道在 Cygwin 上是否能这样工作)。

您可以尝试组合以下命令:

getent passwd $(stat -c "%u" somefilename.name)

答案2

这是用户的 ID。问题:

awk -F: '{if ($3 == "544") print $1;}' /etc/passwd

查看帐户名称。

现在,您将看到Administrators,这可能对您没有多大帮助,但这就是 Cygwin 看待所有者的方式。

http://cygwin.com/cygwin-ug-net/ntsec.html特别是Example 3.3. /etc/passwd其中的章节提供了更多信息。

相关内容