Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!mimsy!umd5!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.unix.wizards Subject: Re: Symbolic Links Message-ID: <6342@brl-smoke.ARPA> Date: Wed, 26-Aug-87 00:56:22 EDT Article-I.D.: brl-smok.6342 Posted: Wed Aug 26 00:56:22 1987 Date-Received: Thu, 27-Aug-87 06:24:32 EDT References: <8731@brl-adm.ARPA> <2789@ulysses.homer.nj.att.com> <1781@munnari.oz> <2854@ulysses.homer.nj.att.com> <8137@mimsy.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 45 In article <8137@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: >The *raison d'etre* for symbolic links is that sometimes a tree >structure is insufficient. It should follow that they do not behave >like trees. Yes, and the problem with the Berkeley symlink behavior is that the file system hierarchy does not even LOCALLY behave like a tree. When a user requests what is naturally thought of as a "local" operation like .., having the global topology brutally manifest itself is quite a shock. I won't go into the reasons why it is important from a human factors viewpoint for .. to be a "local" operation, but I will note that even in a system with symlinks, it is one, most of the time. What Korn, Krell, and others want to do is change that "most of the time" to "always". >If you wish to treat all path names as strings before attempting to >apply them to the file system itself, and resolve `..' as `up one >level', we can discard the entire directory structure of Unix itself. That's a bit overstated. There's at least one such implementation that I know of, and there have been some partial approaches to this in areas not involving symlinks, yet those systems are recognizably based on the normal UNIX hierarchical file system + inode model. >There is no need for `.' and `..' directory entries. These become >magic strings. This is already true of many network file system implementations, and .. has had special meaning on all UNIX-based systems under certain circumstances for many years. > There is no need for the file system to be implemented >as a directed graph (although it may still be convenient). With symlinks, you simply don't have a DAG, globally. However, as a general issue, hierarchical naming is EXTREMELY important. Symlinks provide a way to "cheat" on this; the question is whether the cheat is to be blessed as a fundamental feature or treated as an incidental perturbation on the hierarchical scheme. >It may be convenient, but it does not feel like Unix. As with text editors, it all depends on what you've gotten used to. Personally I can't stand symlinks making .. act like a global jump to a distant place in the hierarchy.