06-05-2007
You do realize there can be more than one hard link for a given file, plus there may be multiple symlinks as well. When you call fopen ("/path/to/foo", "r"), foo can easily be a link. So you may not have the real path to start with.
So going "up" the file tree is not going to give you a perfect answer all the time.
I'm not giving you a hard time, it's just that working out whre a file is in all the filesystems on one box is a daunting task. find / -name <> -inode <> is about as good as it gets, even if it is really slow.
In your example, if you're postive foldera or folderb or folderc are under /root then your task is:
get st_dev and st_ino for the file you do have
with popen(), "find /root -name afile -inode st_ino", then stat all of the files returned.
check the st_dev values, when you have a match you have the file.
10 More Discussions You Might Find Interesting
1. Programming
In the funtion C function link(char *existing, char *new);
existing has to be an absolute path.
But what happens if i want to make a ling to a file in the users home directory (assume file.txt exists)
i cant put in a "~/file.txt" or "./file.txt"
How can i turn the above into the entire path... (1 Reply)
Discussion started by: youngvet
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I have a file with about 60 lines of path:
app-defaults/boxXYZ.......
I want to change this to /my/path/goes/here/app-defaults/boxXYZ, but of course vi doesn't like the regualr :s/old/new/ command.
Is there any other quick way to do this?
Thanks ;) (2 Replies)
Discussion started by: Yinzer955i
2 Replies
3. UNIX for Dummies Questions & Answers
is cd ~ considered an absolute path? (2 Replies)
Discussion started by: Kirichiko
2 Replies
4. UNIX for Dummies Questions & Answers
I'm having problems accessing the Knoppix software on my current computer and the replacement CD I ordered hasn't arrived yet.
I have a guess at what the answer would be for this question but I am not sure as I cannot test it with the software.
I have to create a directory called class, and... (1 Reply)
Discussion started by: mzero
1 Replies
5. Shell Programming and Scripting
I have a script in which i want to print absolute path of the same script irrespective of path from where i run script.
I am using
test.sh:
echo "pwd : `pwd`"
echo "script name: $0"
echo "dirname: `dirname $0`"
when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Discussion started by: rss67
10 Replies
6. Shell Programming and Scripting
Hello,
I have a doubt:-
---------------------
Current script:-
################################################################################################
prefix=user@my-server:
find . -depth -type d -name .git -printf '%h\0' | while read -d "" path ; do (
cd "$path" || exit $?... (4 Replies)
Discussion started by: sahil_jammu
4 Replies
7. UNIX for Dummies Questions & Answers
Hello Everyone,
I want to convert
Relative Path - /home/stevin/data/APP_SERVICE/../datafile.txt
to
Absolute Path - /home/stevin/data/datafile.txt
Is there a built-in tool in Unix to do this or any good ideas as to how can I implement this.
-Steve (5 Replies)
Discussion started by: qwarentine
5 Replies
8. UNIX for Dummies Questions & Answers
I don't understand the question below..any can help me? thanks
Display the absolute path of the executable used when a
'grep' command is entered on the command line:
---------- Post updated at 08:30 PM ---------- Previous update was at 08:29 PM ----------
absolute (2 Replies)
Discussion started by: wk9031
2 Replies
9. UNIX for Dummies Questions & Answers
Hi,
Need to insert /usr/local/bin before scp in all the lines for the below using VI
#cat scpfile.txt
scp test.txt user@host1:
scp test.txt user@host2:
scp test.txt user@host3:
scp test.txt user@host4:
Regards,
Siva (2 Replies)
Discussion started by: ksgnathan
2 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies
LEARN ABOUT SUSE
bootloader::path
Bootloader::Path(3) User Contributed Perl Documentation Bootloader::Path(3)
NAME
Bootloader::Path - abstraction of path constants
PREFACE
This package provides path for configuration files. It is used to enable testing on created chroot. It is used only for internal purpose.
SYNOPSIS
"use Bootloader::Path;"
"$path = Bootloader::Path::Prefix ($path);"
"$path = Bootloader::Path::Logname();"
"$path = Bootloader::Path::Fstab();"
"$path = Bootloader::Path::Sysconfig();"
"$path = Bootloader::Path::Grub_menulst();"
"$path = Bootloader::Path::Grub_devicemap();"
"$path = Bootloader::Path::Grub_grubconf();"
"$path = Bootloader::Path::Grub_grub();"
"$path = Bootloader::Path::Elilo_conf();"
"$path = Bootloader::Path::Elilo_efi();"
"$path = Bootloader::Path::Elilo_elilo();"
"$path = Bootloader::Path::Lilo_lilo();"
"$path = Bootloader::Path::Lilo_conf();"
"$path = Bootloader::Path::Zipl_conf();"
"$path = Bootloader::Path::Zipl_zipl();"
DESCRIPTION
"$path = Bootloader::Path::Prefix ($);"
Add to absolute path prefix. Only internal function. Allways retuns correct value.
"$path = Bootloader::Path::Logname();"
Gets logname path.
"$path = Bootloader::Path::Fstab();"
Gets fstab path.
"$path = Bootloader::Path::Sysconfig();"
Gets path for bootloader sysconfig.
"$path = Bootloader::Path::Grub_menulst();"
Gets path for grub configuration file menu.lst.
"$path = Bootloader::Path::Grub_devicemap();"
Gets path for grub configuration file device.map.
"$path = Bootloader::Path::Grub_grubconf();"
Gets path for grub configuration file grub.conf (this file contains commands for initialize bootloader).
"$path = Bootloader::Path::Grub_grub();"
Gets path for grub binary
"$path = Bootloader::Path::Elilo_conf();"
Gets path of elilo configuration file.
"$path = Bootloader::Path::Elilo_efi();"
Gets path to efi directory.
"$path = Bootloader::Path::Elilo_elilo();"
Gets path to elilo binary.
"$path = Bootloader::Path::Lilo_lilo();"
Gets path to lilo(or powerlilo) binary.
"$path = Bootloader::Path::Lilo_conf();"
Gets path to lilo(or powerlilo) configuration file.
"$path = Bootloader::Path::Zipl_conf();"
Gets path to zipl configuration file.
"$path = Bootloader::Path::Zipl_zipl();"
Gets path to zipl binary.
perl v5.12.1 2010-05-14 Bootloader::Path(3)