hard links for directories ?

Greg 'groggy' Lehey grog at FreeBSD.org
Tue Aug 17 16:14:53 PDT 2004


On Tuesday, 17 August 2004 at  9:55:03 -0500, David Kelly wrote:
>
> On Aug 17, 2004, at 12:24 AM, Greg 'groggy' Lehey wrote:
>
>> On Monday, 16 August 2004 at 22:02:11 -0700, Tim Traver wrote:
>>
>>> This may be a stupid question, but is it possible to make hard links
>>> to
>>> directories ??? I know you can with files, and normally, you would do
>>> a
>>> soft link for directories, but is there any way to finagle this ?
>>
>> Sure, there are ways.  But why would you want to?
>>
>> A link to a directory makes it a subdirectory of the directory
>> containing the link.  If you have two links to a directory, where
>> should the directory's .. link point?  How would fsck know what to do?
>
> Root is the only one allowed to make hard links to directories.

This is not correct.  root has no special powers here.

> As Greg says, "How would fsck know which is the correct parent
> directory?"

To make it clearer: the term "hard link" is a misnomer.  It's just a
link, and there are lots of links to directories.  One is always
called ".", and all the others are called "..".  So when you create a
directory, it has a link count of 2.  Every time you create a
subdirectory of that directory, you add to the link count:

  $ mkdir new 
  $ ls -dl new
  drwxr-xr-x  2 grog  wheel  512 Aug 18 08:42 new
  $ mkdir new/subdir
  $ ls -dl new
  drwxr-xr-x  3 grog  wheel  512 Aug 18 08:43 new
  $ mkdir new/subdir2
  $ ls -dl new
  drwxr-xr-x  4 grog  wheel  512 Aug 18 08:43 new

> Directories have only one parent. If a directory were to have two
> parents then you'd break the tree structure of the directory
> hierarchy.  You would

could

> create a loop in the tree branches which would place
> utilities such as "find" in an infinite loop.

Greg
--
When replying to this message, please copy the original recipients.
If you don't, I may ignore the reply or reply to the original recipients.
For more information, see http://www.lemis.com/questions.html
Note: I discard all HTML mail unseen.
Finger grog at FreeBSD.org for PGP public key.
See complete headers for address and phone numbers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040818/dd79865b/attachment.bin


More information about the freebsd-questions mailing list