这里主要是利用dd及od命令。
1. 建立软链接,目标文件的路径及文件名的长度要大于60个字符,这样软链接文件中会存储目标文件的路径及文件名,否则,这些内容会存储在软链接文件的inode的i_block数组中,这个数组本来是存储文件数据所在的数据块的。
[root@law ~]# ln -s /oracle/product/10.2.0/db_1/inventory/Templates/assistants/dbca/dbca.sbs dbca.ln
2. 查询软链接文件被分配的数据块号:
[root@law ~]# debugfs /dev/sda1
debugfs 1.35 (28-Feb-2004)
debugfs: stat dbca.ln
dbca.ln: File not found by ext2_lookup
debugfs: stat /root/dbca.ln
Inode: 131062 Type: symlink Mode: 0777 Flags: 0x0 Generation: 3268397639
User: 0 Group: 0 Size: 72
File ACL: 262661 Directory ACL: 0
Links: 1 Blockcount: 16
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x48c7ca47 -- Wed Sep 10 21:23:19 2008
atime: 0x48c7ca49 -- Wed Sep 10 21:23:21 2008
mtime: 0x48c7ca47 -- Wed Sep 10 21:23:19 2008
BLOCKS:
(0):285793
TOTAL: 1
3. 使用dd命令导出上述数据块内容到一个文件,这里指定文件名称为dbca.ln.dd:
[root@law ~]# dd if=/dev/sda1 of=dbca.ln.dd bs=4096 count=1 skip=285793
1+0 records in
1+0 records out
4. 使用od命令查看导出文件的内容,可以发现其存储的内容正是这个软链接文件指向的目标文件的路径及文件名称:
[root@law ~]# od -c dbca.ln.dd
0000000 / o r a c l e / p r o d u c t /
0000020 1 0 . 2 . 0 / d b _ 1 / i n v e
0000040 n t o r y / T e m p l a t e s /
0000060 a s s i s t a n t s / d b c a /
0000100 d b c a . s b s
0000120
*
0010000
或者:
[root@law ~]# cat dbca.ln.dd
/oracle/product/10.2.0/db_1/inventory/Templates/assistants/dbca/dbca.sbs
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37724/viewspace-1010518/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/37724/viewspace-1010518/