Perl:从stat commad获取用户名和组名

时间:2015-12-17 09:39:37

标签: linux perl file unix stat

以下是我正在使用的代码段,但我无法获取所需文件的用户名和组名。

#!/usr/bin/perl
use strict;
use Data::Dumper;
use File::stat;
$somedir = '/var/vob/icc_shantesh/';
$file = $somedir."power.log";

my $gid = stat($file1)->gid;
my $uid = stat($file1)->uid;

print "User Id : $uid Group Id : $gid";

ouptut:       用户ID:23489       Group Id:29023

我如何获得用户名和组名?

1 个答案:

答案 0 :(得分:3)

getgrgid($gid);
getpwuid($uid);

可能有用(添加组,这是错误的)

<强>更新

我将您的代码更改为此功能

 #!/usr/bin/perl
 use strict;
 use Data::Dumper;
 use File::stat;
 $somedir = '/var/vob/icc_shantesh/';
 $file = $somedir."power.log";

 my ($gid) = getgrgid(stat($file)->gid);
 my ($uid) = getpwuid(stat($file)->uid);

 print "User Id : $uid Group Id : $gid";