曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3589|回复: 0
打印 上一主题 下一主题

chown -- 更改文件隶属 | getpwnam -- 转换用户 | getgrnam -- 转换组

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2011-10-12 13:54:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
chown 函数用来更改文件的拥有者和所属组,使用 chown 时拥有者和组参数是以数字形式出现的,如:
# ls -l *.txt
-rw-r--r-- 1 root root 0 Oct 12 13:29 test1.txt
-rw-r--r-- 1 root root 0 Oct 12 13:29 test2.txt
-rw-r--r-- 1 root root 0 Oct 12 13:29 test3.txt
-rw-r--r-- 1 root root 0 Oct 12 13:29 test4.txt
-rw-r--r-- 1 root root 0 Oct 12 13:29 test5.txt
运行下面程序:
[Perl] 纯文本查看 复制代码
#!/usr/bin/perl

my $user = 500;
my $group = 500;

chown $user, $group, glob "*.txt";

处理结果:
ls -l *.txt
-rw-r--r-- 1 beyes beyes 0 Oct 12 13:29 test1.txt
-rw-r--r-- 1 beyes beyes 0 Oct 12 13:29 test2.txt
-rw-r--r-- 1 beyes beyes 0 Oct 12 13:29 test3.txt
-rw-r--r-- 1 beyes beyes 0 Oct 12 13:29 test4.txt
-rw-r--r-- 1 beyes beyes 0 Oct 12 13:29 test5.txt
记住数字毕竟不太容易,Perl 提供了 getpwnam 和 getgrnam 两个函数,它们分别用来将用户名和组名转换为相应的数字形式,这样就方便多了:
[Perl] 纯文本查看 复制代码
#!/usr/bin/perl


defined (my $user = getpwnam "beyes") or die "bad user";
defined (my $group = getgrnam "beyes") or die "bad group";

chown $user, $group, glob "*.txt";
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 05:11 , Processed in 0.059889 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表