忘了说, find . -inum 这里只在当前目录找

2010/8/6 cnhack TNT <[email protected]>

> -MData::Dumper 选项不必要,我习惯性打上去的
>
> 2010/8/6 cnhack TNT <[email protected]>
>
> 在 linux/unix 上一个可能的方法是通过 stat 函数取得句柄所绑定的文件的 inode,然后用 find -inum 找,以
>> /etc/hosts 举例:
>>
>>     perl -MData::Dumper -le 'open F, "/etc/hosts";  $ino=(stat(F))[1];
>> $file=`find . -inum $ino 2> /dev/null`; print $file'
>>
>> 但这么做是非常不靠谱的,如果你的系统上挂载有多个分区,那它们之间可能会碰上相同的 inode 号,但是不同文件。而且这么做非常没效率。
>>
>> 好方法是,在你读文件的时候,自己维护一个  文件句柄<->文件名 的映射哈希表。
>>
>>
>> 2010/8/5 Michael Zeng <[email protected]>
>>
>> 就是
>>>
>>>  open my $F1, '<',  'ABC'
>>>
>>> or   open my $F2 , '>' ,  "DEF" ;
>>>
>>>
>>> 现在 拿到 $F1, $F2 , 如何返回文件的名称呢
>>>
>>> 比如ABC , DEF
>>>
>>>
>>>
>>>
>>> --
>>>             Yours Sincerely
>>>                     Zeng Hong
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>>> 要取消订阅此网上论坛,请发送电子邮件至 
>>> [email protected]<perlchina%[email protected]>
>>> 。
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>
>>
>

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复