QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1062|回复: 6

如何知道硬链接文件的另一个文件在哪里?

[复制链接]
发表于 2004-12-11 21:49:10 | 显示全部楼层 |阅读模式
[root@sxh root]# ls -l
总用量 38392
-rw-------    2 root     root     11058180 11月 11 22:50 Wine-20041019.tar.gz
-rw-------    2 root     root     11058180 11月 11 22:50 wine-23
-rwxr-xr-x    1 root     root      1992018 11月  4 14:51 xmms-1.2.10-1.i386.rpm
[root@sxh root]#
我们可以看出前两个文件是硬链接文件,并且各有一个互为硬链接的文件,怎么知道那个互为硬链接的文件在哪?
发表于 2004-12-13 09:01:02 | 显示全部楼层
我也不知道。帮你顶
回复

使用道具 举报

发表于 2004-12-13 09:43:04 | 显示全部楼层
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=107004&highlight=%D3%B2%C1%B4%BD%D3
回复

使用道具 举报

发表于 2004-12-13 09:45:49 | 显示全部楼层
i=$(ls -i filename | awk '{print $1}'); find . -inum $i
回复

使用道具 举报

发表于 2004-12-14 23:48:58 | 显示全部楼层
[quote:fb7295f6e0="firemoth"]i=$(ls -i filename | awk '{print $1}'); find . -inum $i[/quote]
    
高明 ...
但是请问为什么要在本目录下查找?
如果是在本分区上应该如何做?
记得hard link是不能跨分区的..
回复

使用道具 举报

 楼主| 发表于 2004-12-15 09:45:32 | 显示全部楼层
[quote:d70d2958b3="firemoth"]i=$(ls -i filename | awk '{print $1}'); find . -inum $i[/quote]
看不懂,但我可以简化一下:
#ls -i filename
291655 filename
#ls -Ri /|grep 291655
以上方法简单好理解,但效率低。

强烈请求高手给出更简单高效的方法!
回复

使用道具 举报

发表于 2004-12-15 09:48:18 | 显示全部楼层
我给您解释一下:
ls -i filename查看该文件的inode...
用 awk '{print $1}'取到inode号,也就是ls -i filename中的第一列,
把它附给i变量...
,然后用find 的inum,查找inode为i变量的文件...

上面是在本文件夹里找的,您可以获得当前文件所在的分区,然后再在分区内找,应该就不会错啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 16:30 , Processed in 0.043515 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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