How to list hardlinks?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to list hardlinks?
# 1  
Old 03-27-2008
How to list hardlinks?

Q1: Let's say I create a hard-link bar.c in /tmp to a file foo.c which resides in /var/tmp. Is there a easy way to find out which file /tmp/bar.c hardlinks to (and vice-versa - i.e which files have got hard-linked from /var/tmp/foo.c) when one does not (and wants to) know the location of the other file?

[ We can use inodes; but that won't help as I m talking about a scenario where I either don't know the file or the hard-link location and/or name. ]

Q2: It's little more simpler with symlinks since if given the symlink you can use the arrow to find out the name and path of the original file. Even here, how would one be able to find the name of the symlink given the name of the actual file?

PS: Even if there a not-so-easy solution to the question, I would like to know it. :-)

Mahesh
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Take a list if strings from a file and search them in a list of files and report them

I have a file 1.txt with the below contents. -----cat 1.txt----- 1234 5678 1256 1234 1247 ------------------- I have 3 more files in a folder -----ls -lrt------- A1.txt A2.txt A3.txt ------------------- The contents of those three files are similar format with different data values... (8 Replies)
Discussion started by: realspirituals
8 Replies

2. Shell Programming and Scripting

HardLinks and Softlinks

How do i make a hardlink readable,writable, and executable by me? I am kinda hoping for a command i can use Also, i was wondering what file type are hardlinks and softlinks?Are they directories? (10 Replies)
Discussion started by: lilbo4231
10 Replies

3. Programming

c++ function to convert a linear list to circular list

hi all, i need a c++ function which converts a linear list to circular. presently i am working with two files. i.e., one linear list file. and one circular list file to do some operations. i thought it will be helpful if there is a function that converts a linear list to circular n undo the... (1 Reply)
Discussion started by: vidyaj
1 Replies

4. Shell Programming and Scripting

Convert perl qw list to text file list?

Does anyone have a good example? I am having trouble looping.. Thanks (1 Reply)
Discussion started by: mrlayance
1 Replies

5. UNIX for Dummies Questions & Answers

dump/restore of a fs with 100 of millions hardlinks

Hi :-) i have a dump of a backupdisk (~540GB / ext3). The Backups have some 100 millions of hardlinks (backups are created with storeBackup). The OS is linux. A restore of a directory ended after some days with the errormessage "no memory to extend symbol table" The restore of the complete... (0 Replies)
Discussion started by: turricum
0 Replies

6. Shell Programming and Scripting

find list of files from a list and copy to a directory

I will be very grateful if someone can help me with bash shell script that does the following: I have a list of filenames: A01_155716 A05_155780 A07_155812 A09_155844 A11_155876 that are kept in different sub directories within my current directory. I want to find these files and copy... (3 Replies)
Discussion started by: manishabh
3 Replies

7. Shell Programming and Scripting

Splitting a list @list by space delimiter so i can access it by using $list[0 ..1..2]

EDIT : This is for perl @data2 = grep(/$data/, @list_now); This gives me @data2 as Printing data2 11 testzone1 running /zones/testzone1 ***-*****-****-*****-***** native shared But I really cant access data2 by its individual elements. $data2 is the entire list, while $data,2,3...... (1 Reply)
Discussion started by: shriyer
1 Replies

8. UNIX for Dummies Questions & Answers

counting a list of string in a list of txt files

Hi there! I have 150 txt files named chunk1, chunk2, ........., chunk150. I have a second file called string.txt with more than 1000 unique strings, house, dog, cat ... I want to know which command I should use to count how many times each string appears in the 150 files. I have tried... (4 Replies)
Discussion started by: Pep Puigvert
4 Replies

9. UNIX for Dummies Questions & Answers

send email from address list and subject list

Hello, Here is my problem. there are two files. first.txt <<< contains email address ====== abc@mail.com abd@mail.com abe@mail.com second.txt <<< contains webpage links ======== http//www.test.com/abc/index.html http://www.test.com/abd/index.html http://www.test.com/abe/index.html... (2 Replies)
Discussion started by: paulds
2 Replies

10. UNIX for Dummies Questions & Answers

search for hardlinks based on filename via find command

I am using command substitution into a find command in a script where I have built a menu to do a bunch of tasks within my unix account. When I choose the options for to find a file/files that have the same inode of the entered filename, ie hardlinks, nothing shows up. When I choose the appropiate... (2 Replies)
Discussion started by: hunternjb
2 Replies
Login or Register to Ask a Question
ln(1B)						     SunOS/BSD Compatibility Package Commands						    ln(1B)

NAME
ln - make hard or symbolic links to files SYNOPSIS
/usr/ucb/ln [-fs] filename [linkname] /usr/ucb/ln [-fs] pathname... directory DESCRIPTION
The /usr/ucb/ln utility creates an additional directory entry, called a link, to a file or directory. Any number of links can be assigned to a file. The number of links does not affect other file attributes such as size, protections, data, etc. filename is the name of the original file or directory. linkname is the new name to associate with the file or filename. If linkname is omitted, the last component of filename is used as the name of the link. If the last argument is the name of a directory, symbolic links are made in that directory for each pathname argument; /usr/ucb/ln uses the last component of each pathname as the name of each link in the named directory. A hard link (the default) is a standard directory entry just like the one made when the file was created. Hard links can only be made to existing files. Hard links cannot be made across file systems (disk partitions, mounted file systems). To remove a file, all hard links to it must be removed, including the name by which it was first created; removing the last hard link releases the inode associated with the file. A symbolic link, made with the -s option, is a special directory entry that points to another named file. Symbolic links can span file sys- tems and point to directories. In fact, you can create a symbolic link that points to a file that is currently absent from the file sys- tem; removing the file that it points to does not affect or alter the symbolic link itself. A symbolic link to a directory behaves differently than you might expect in certain cases. While an ls(1) on such a link displays the files in the pointed-to directory, an `ls -l' displays information about the link itself: example% /usr/ucb/ln -s dir link example% ls link file1 file2 file3 file4 example% ls -l link lrwxrwxrwx 1 user 7 Jan 11 23:27 link -> dir When you use cd(1) to change to a directory through a symbolic link, you wind up in the pointed-to location within the file system. This means that the parent of the new working directory is not the parent of the symbolic link, but rather, the parent of the pointed-to direc- tory. For instance, in the following case the final working directory is /usr and not /home/user/linktest. example% pwd /home/user/linktest example% /usr/ucb/ln -s /var/tmp symlink example% cd symlink example% cd .. example% pwd /usr C shell user's can avoid any resulting navigation problems by using the pushd and popd built-in commands instead of cd. OPTIONS
-f Force a hard link to a directory. This option is only available to the super-user, and should be used with extreme caution. -s Create a symbolic link or links. USAGE
See largefile(5) for the description of the behavior of ln when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). EXAMPLES
Example 1 The /usr/ucb/ln command The commands below illustrate the effects of the different forms of the /usr/ucb/ln command: example% /usr/ucb/ln file link example% ls -F file link file link example% /usr/ucb/ln -s file symlink example% ls -F file symlink file symlink@ example% ls -li file link symlink 10606 -rw-r--r-- 2 user 0 Jan 12 00:06 file 10606 -rw-r--r-- 2 user 0 Jan 12 00:06 link 10607 lrwxrwxrwx 1 user 4 Jan 12 00:06 symlink -> file example% /usr/ucb/ln -s nonesuch devoid example% ls -F devoid devoid@ example% cat devoid devoid: No such file or directory example% /usr/ucb/ln -s /proto/bin/* /tmp/bin example% ls -F /proto/bin /tmp/bin /proto/bin: x* y* z* /tmp/bin: x@ y@ z@ ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
cp(1), ls(1), mv(1), rm(1), link(2), readlink(2), stat(2), symlink(2), attributes(5), largefile(5) NOTES
When the last argument is a directory, simple basenames should not be used for pathname arguments. If a basename is used, the resulting symbolic link points to itself: example% /usr/ucb/ln -s file /tmp example% ls -l /tmp/file lrwxrwxrwx 1 user 4 Jan 12 00:16 /tmp/file -> file example% cat /tmp/file /tmp/file: Too many levels of symbolic links To avoid this problem, use full pathnames, or prepend a reference to the PWD variable to files in the working directory: example% rm /tmp/file example% /usr/ucb/ln -s $PWD/file /tmp lrwxrwxrwx 1 user 4 Jan 12 00:16 /tmp/file -> /home/user/subdir/file SunOS 5.11 11 Mar 1994 ln(1B)