How can I get only FileName associated with a INODE on Unix much faster?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How can I get only FileName associated with a INODE on Unix much faster?
# 1  
Old 12-07-2010
How can I get only FileName associated with a INODE on Unix much faster?

How can I get only FileName associated with a INODE on Unix[solaris8] in seconds instead of minutes, as it is the case for me as shown below.

Code:
 
# Say I have FileDescriptor: 43, INODE: 2590784, File: abc.rdb. I want to get only filename associated with inode:2590784 and FD:43.
$> time find / -inum 2590784 -print 2>/dev/null 
/export/<full_path>/abc.rdb      # This is what I want in seconds or milliseconds.
/proc/4012/fd/43                 # Where 4012 is PID
/proc/4012/object/ufs.85.3.2590784
 
real    2m26.91s
user    0m2.23s
sys     0m30.29s

# 2  
Old 12-08-2010
try adding the -xdev option assuming the file is on /
# 3  
Old 12-08-2010
with -xdev whatever output I was getting earlier disappeard. So that can't be it.

I am wondering if my problem requires something like a C-shell program that talks to Unix kernel.

Last edited by kchinnam; 12-08-2010 at 12:42 AM..
# 4  
Old 12-08-2010
you must have missed my "assuming the file is on /" comment.

try
Code:
time find /export -inum 2590784  -xdev -print 2>/dev/null

you can also add -fstype ufs (or whatever your using) to avoid traversing the proc file system. your searching my inode so if you use / it will search all file systems. I suggest you limit your search to the file system that has your file.

Last edited by frank_rizzo; 12-08-2010 at 12:48 AM.. Reason: add comment
# 5  
Old 12-08-2010
Thanks Frank, that helped. I am getting it in around 16seconds.

Code:
 
$> time find /export -inum 2590784  -xdev -fstype ufs -print 2>/dev/null
/export/<full_path>/abc.rdb
 
real    0m16.28s
user    0m1.56s
sys     0m13.36s

Sorry for being too greedy, are there any other ideas to make this more quick? Since I may have to get this output for about 1000+ INODEs that are active in the runtime?
# 6  
Old 12-08-2010
Quote:
Originally Posted by kchinnam
Sorry for being too greedy, are there any other ideas to make this more quick? Since I may have to get this output for about 1000+ INODEs that are active in the runtime?
it's an expensive search. if the files are relatively static you might be able to build an index file mapping the nodes to paths and then just grep the inode out of that file. just a quick thought.
# 7  
Old 12-08-2010
You could specify the type of file (in case your aware)(-type) in the find command. So that it filter only the type of files you look for and save a few seconds..just another thought Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

UNIX script to display the filename

Hi All How to answer the below interview question.. With a path and filename of "/mydir1/mydir2/mydir3/myfilenane.dat" write a UNIX script to display the filename (2 Replies)
Discussion started by: shumail
2 Replies

2. Shell Programming and Scripting

Filename check in UNIX

Hello , I have to search for the file names which will either has ABC_DEF or NN in their filename Please note that both cannot appear in the same file name currently I am using ls -lrt /zthetl/SrcFiles/*ABC_DEF*.xls| head -1 | nawk '{print $9}' How to combine the NN in this code?... (4 Replies)
Discussion started by: Pratik4891
4 Replies

3. UNIX for Dummies Questions & Answers

How to get redirected filename inside unix script

Hi All, I am having a script which calculate checks the input feed and perform some function. When i am executing this script i am redirecting this to a output file. I want to know the redirected output file name inside my scripts. Is there is any way to get that . like the same way we... (4 Replies)
Discussion started by: arunkumar_mca
4 Replies

4. UNIX for Dummies Questions & Answers

UNIX command to get inode's tid and pid

Hi everyone, I am new here in www.unix.com, i found this site because I am looking for an answer to this problem of mine. I need to know a UNIX command to display an inode's thread id and process id. Hope someone can help me on this. Thanks :D (8 Replies)
Discussion started by: rodkun
8 Replies

5. UNIX for Dummies Questions & Answers

inode filename

can someone please tell me why is the filename not inlcuded in the inode of the file? (2 Replies)
Discussion started by: wowman
2 Replies

6. AIX

How to get the filename of which has been deleted if I know the inode number?

How to get the filename of which has been deleted if I know the inode number. i can use the command "istat" to get the inode number of the file. # istat /proc//fd/x If this file has been deleted,but the process of this file has not been closed and handle has not been released ,so this... (3 Replies)
Discussion started by: JoyOnLine
3 Replies

7. UNIX for Dummies Questions & Answers

unix file system V filename limit

Why unix system V has a filename size limit of 14 characters.How other versions of Unix got around this problem.Can anybody help? (7 Replies)
Discussion started by: admirer
7 Replies

8. UNIX for Dummies Questions & Answers

SCO Unix inode structure.

I have read quite a few threads here about the unix file creation date. I was interested in finding how to display it using a unix command. find did not help me so i looked at man inode. I found direction to htino.h which is described as the structure of the inode for S51K (UNIX), HTFS, EAFS... (4 Replies)
Discussion started by: rbn
4 Replies

9. Solaris

How to map a disk block to filename/ Inode

Hi, I want to find out a particular disk block belong to which file. in solaris 2.8 Can anyone help. Thanks and Regards Bala (1 Reply)
Discussion started by: Balamurugan
1 Replies

10. UNIX for Dummies Questions & Answers

UNIX Filename length restrictions?

Can anyone help me out with information on the filename length restrictions in UNIX? Thanks! (2 Replies)
Discussion started by: xmeh
2 Replies
Login or Register to Ask a Question