Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ll-xn!husc6!yale!bunker!zink From: zink@bunker.UUCP (David Zink) Newsgroups: comp.unix.wizards Subject: Re: symbolic links are a botch Message-ID: <2250@bunker.UUCP> Date: Fri, 26-Jun-87 08:43:26 EDT Article-I.D.: bunker.2250 Posted: Fri Jun 26 08:43:26 1987 Date-Received: Sat, 27-Jun-87 09:12:57 EDT References: <7879@brl-adm.ARPA> <2211@bunker.UUCP> Reply-To: zink@bunker.UUCP (David Zink) Organization: Bunker Ramo an Olivetti Company, Shelton CT Lines: 49 In article <6018@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) writes: ]It seems to me we're gradually wobbling our way towards the idea that ]the "current working directory" is really just a "prefix" to be used ]for relative path resolution. This approach is taken by some OSes ](Apple ProDOS being one I'm quite familiar with) and it seems to work ]fine. Indeed, it generalizes nicely so that one can have a handful of ]current prefixes simultaneously available, e.g. one for libraries, one ]for commands, etc. ] ]Of course UNIX implementations of the "prefix" would remarkably !resemble what they're doing already for the cwd. (One doesn't have !to ACTUALLY prepend a prefix text string then look up all inodes in !the path starting at the root every time one opens an object!) ] ]With the prefix approach, the natural meaning of "cd" is "set new ]prefix", and "cd .." most naturally would mean "trim off the most ]local pathname component from the current prefix". ] ]I recommend that we move UNIX toward prefixes as a better naming ]concept than "working directory". Yay for Apple ProDOS MSDOS etc. You're right ! we should change UN*X to work more like those beautiful OS'es. And when you type cd /usr/JO and root types mv /usr/JO /usr/JMO and you type cd . and The prefix /usr/JO/ is attached to it to make /usr/JO/. and the shell says '.' NOT FOUND. you're going to be so glad you got UN*X to work like a toy manufacturers single-user operating system. Of course the idea of prefixes for commands is $PATH that for libraries is fixed at /usr/lib but since all unix people except wizards use makefiles it may not be all that useful. Besides, following usual eunuch tradition each different program would have it's own environment variable it would use for this. As far as cd .. goes, you can't usually unmount the filesystem containing a directory which someone has open, say as cwd; however imagine mount /dev/hd7 /mnt1 mkdir /mnt1/lice /mooseteeth ln -s /mooseteeth /mnt1/lice/pointy cd /mnt1/lice/pointy umount /dev/hd7 cd .. Nuff said?