Sponsored Content
Full Discussion: exact purpose of links
Top Forums UNIX for Dummies Questions & Answers exact purpose of links Post 302548338 by newbielgn on Thursday 18th of August 2011 07:04:17 AM
Old 08-18-2011
Consider you have a file called original , then you can create hardlink to this file using command given below
$ ln original hardlink

Now you can create a softlink to original file using command given below
$ ln -s original softlink

Now you can check using ln -li that both hardlink and original have same inode (147513106 ) but softlink has different inode
$ ls -il
147513106 -rw-rw-rw- 2 qa qa 10576 2011-08-18 15:54 hardlink
147513106 -rw-rw-rw- 2 qa qa 10576 2011-08-18 15:54 original.txt
147513105 lrwxrwxrwx 1 qa qa 12 2011-08-18 16:03 softlink -> original.txt

Soft link are special files that indicate OS a path where it can find the actual file.But hardlink is just different name to the same inode, inodes are unique for same partition.
If you delete softlink for eg rm softlink then the original file does not get deleted , but same is the case with hardlik i.e. if you delete hardlink then the original file does not gets deleted.

Advantages/Disadvantages:

a) Symbolick links have the advantage that they can point to files across file systems or across partitions. But hardlink can't link across partitions/file systems because inode is unique for each partition.

b) Hardlinks have the advantage that you can move the original file form its initial location to different location (say from myfolder/original.txt to differntfolder/original.txt) then the hard link will not get broken because it point to the original file using inode.But softlink will be broken if the original file will be moved from its initial location when softlink was created.For example if you created softlink to myfolder/original.txt then do 'ls -l' on softlink then you will see softlink->myfolder/original.txt now if you move original.txt to differntfolder/original.txt then the softlink will not work.

Last edited by newbielgn; 08-18-2011 at 10:10 AM..
This User Gave Thanks to newbielgn For This Post:
 

8 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

Purpose of dsi log

Hi Please explain what is dsi log? Does it stores details related to File systems? (0 Replies)
Discussion started by: student2010
0 Replies

2. UNIX for Dummies Questions & Answers

Purpose of /etc/cron.d

What is the purpose of /etc/cron.d? (3 Replies)
Discussion started by: proactiveaditya
3 Replies

3. UNIX for Advanced & Expert Users

Purpose of inv

Hi All Can anybody tell me what is the purpose of inv in the below command. ftp -inv $RFTPSERVER /temp/te.txt << EOF and << its stands for what.. Thanks (1 Reply)
Discussion started by: raju4u
1 Replies

4. Solaris

Hard Links and Soft or Sym links

When loooking at files in a directory using ls, how can I tell if I have a hard link or soft link? (11 Replies)
Discussion started by: Harleyrci
11 Replies

5. AIX

List all the soft links and hard links

Hi I'm logged in as root in an aix box Which command will list all the soft links and hard links present in the server ? (2 Replies)
Discussion started by: newtoaixos
2 Replies

6. UNIX for Dummies Questions & Answers

Purpose of <>

Hi, I have read from the book that , <> causes the file to be used as both input as well as output. Can anyone give me the scenario where <> will be useful? Thanks (10 Replies)
Discussion started by: pandeesh
10 Replies

7. Shell Programming and Scripting

QUESTION1: grep only exact string. QUESTION2: find and replace only exact value with sed

QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1 CAR2_KEY0 CAR2_KEY1 CAR1_KEY10 CURRENT COMMAND LINE: WHERE VARIABLE CAR_NUMBER=1 AND KEY_NUMBER=1 grep... (1 Reply)
Discussion started by: thibodc
1 Replies

8. Shell Programming and Scripting

echo exact xml tag from an exact file

Im stumped on this one. Id like to echo into a .txt file all names for an xml feed in a huge folder. Can that be done?? Id need to echo <name>This name</name> in client.xml files. $path="/mnt/windows/path" echo 'recording names' cd "$path" for names in $path than Im stuck on... (2 Replies)
Discussion started by: graphicsman
2 Replies
LN(1)							    BSD General Commands Manual 						     LN(1)

NAME
link, ln -- make links SYNOPSIS
ln [-Ffhinsv] source_file [target_file] ln [-Ffhinsv] source_file ... target_dir link source_file target_file DESCRIPTION
The ln utility creates a new directory entry (linked file) which has the same modes as the original file. It is useful for maintaining mul- tiple copies of a file in many places at once without using up storage for the ``copies''; instead, a link ``points'' to the original copy. There are two types of links; hard links and symbolic links. How a link ``points'' to a file is one of the differences between a hard and symbolic link. The options are as follows: -F If the target file already exists and is a directory, then remove it so that the link may occur. The -F option should be used with either -f or -i options. If none is specified, -f is implied. The -F option is a no-op unless -s option is specified. -h If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f option, to replace a symlink which may point to a directory. -f If the target file already exists, then unlink it so that the link may occur. (The -f option overrides any previous -i options.) -i Cause ln to write a prompt to standard error if the target file exists. If the response from the standard input begins with the char- acter 'y' or 'Y', then unlink the target file so that the link may occur. Otherwise, do not attempt the link. (The -i option over- rides any previous -f options.) -n Same as -h, for compatibility with other ln implementations. -s Create a symbolic link. -v Cause ln to be verbose, showing files as they are processed. By default, ln makes hard links. A hard link to a file is indistinguishable from the original directory entry; any changes to a file are effectively independent of the name used to reference the file. Hard links may not normally refer to directories and may not span file sys- tems. A symbolic link contains the name of the file to which it is linked. The referenced file is used when an open(2) operation is performed on the link. A stat(2) on a symbolic link will return the linked-to file; an lstat(2) must be done to obtain information about the link. The readlink(2) call may be used to read the contents of a symbolic link. Symbolic links may span file systems and may refer to directories. Given one or two arguments, ln creates a link to an existing file source_file. If target_file is given, the link has that name; target_file may also be a directory in which to place the link; otherwise it is placed in the current directory. If only the directory is specified, the link will be made to the last component of source_file. Given more than two arguments, ln makes links in target_dir to all the named source files. The links made will have the same name as the files being linked to. When the utility is called as link, exactly two arguments must be supplied, neither of which may specify a directory. No options may be sup- plied in this simple mode of operation, which performs a link(2) operation using the two passed arguments. COMPATIBILITY
The -h, -i, -n and -v options are non-standard and their use in scripts is not recommended. They are provided solely for compatibility with other ln implementations. The -F option is FreeBSD extention and should not be used in portable scripts. SEE ALSO
link(2), lstat(2), readlink(2), stat(2), symlink(2), symlink(7) STANDARDS
The ln utility conforms to IEEE Std 1003.2-1992 (``POSIX.2''). The simplified link command conforms to Version 2 of the Single UNIX Specification (``SUSv2''). HISTORY
An ln command appeared in Version 1 AT&T UNIX. BSD
February 14, 2006 BSD
All times are GMT -4. The time now is 07:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy