Date: Wed, 18 Aug 2004 08:44:47 +0930 From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: David Kelly <dkelly@HiWAAY.net> Cc: FreeBSD_Questions FreeBSD_Questions <freebsd-questions@freebsd.org> Subject: Re: hard links for directories ? Message-ID: <20040817231447.GM88156@wantadilla.lemis.com> In-Reply-To: <6BDB5047-F05D-11D8-8B80-000393BB56F2@HiWAAY.net> References: <6.1.2.0.0.20040816220030.04148ec0@mail1.simplenet.com> <20040817052403.GE88156@wantadilla.lemis.com> <6BDB5047-F05D-11D8-8B80-000393BB56F2@HiWAAY.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--xn9xNsWbHJd/50IB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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=20 $ 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@FreeBSD.org for PGP public key. See complete headers for address and phone numbers. --xn9xNsWbHJd/50IB Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQFBIpFnIubykFB6QiMRAu/4AJ9htHQP110mc/rzlBsAOZuxqdsFCACffdrs As4reYJCc54aLaWEyQaKVl4= =Yk2L -----END PGP SIGNATURE----- --xn9xNsWbHJd/50IB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040817231447.GM88156>