Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Symbolic Links

by Anonymous Monk
on Aug 02, 2001 at 20:33 UTC ( #101705=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to write a script that finds directories that are symbolically linked to accounts and then displays where that symbolic link is.
Is there a function of perl that displays where directories are linked?

I just want to avoid using something like:

open (SYMDIR, "cd /some/directory | pwd |");
print SYMDIR;

Well, actually there are other ways than that... But anyway, any help would be appreciated =)

Comment on Symbolic Links
Re: Symbolic Links
by nardo (Friar) on Aug 02, 2001 at 20:37 UTC
    You can use readlink to read where a symlink points, but it won't necessarily be the final destination since it can point to another symlink.
Re: Symbolic Links
by grinder (Bishop) on Aug 02, 2001 at 20:39 UTC
    You want to investigate the readlink function.

     my $dir = readlink( '/some/directory' );

    If you have symbolic links pointing to other symbolic links you will have to walk down the chain:

    while( -l $dir ) { $dir = readlink $dir }

    or more concise:

      1 while( -l $dir and $dir=readlink($dir))

    --

    g r i n d e r

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://101705]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2015-07-03 21:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (56 votes), past polls