Case sensitive file names

Guest Moderator, John B. Chambers std-unix at ut-sally.UUCP
Thu Oct 2 16:59:13 AEST 1986


>From cbosgd!cbosgd.ATT.COM!mark at seismo.CSS.GOV Wed Oct  1 16:55:45 1986
Date: Mon, 29 Sep 86 12:33:36 edt
From: mark at cbosgd.att.com (Mark Horton)
Message-Id: <8609291633.AA10479 at cbosgd.ATT.COM>
Newsgroups: mod.std.unix
Subject: Case sensitive file names

OK, here's a new topic.  File names.

I note that the committee recently decided that all file names
in conforming systems must be case sensitive, for example,
makefile and Makefile must be different files.  (I've forgotten
where I read this, it was probably Communixations.)

I think this is a mistake.  UNIX is the only major operating system
that treats things like file names, logins, host names, and commands
as case sensitive.  The net effect of this is that users get
confused, since they have to get the capitalization right every time.
To avoid confusion, everybody always just uses lower case.  So
there are few, if any, benefits from a two-case system, and any time
anyone tries to do something that isn't pure lower case, it causes
confusion for somebody and often breaks some program.

Another problem is that emulations on other operating systems,
such as VMS or MS DOS, will become impossible without drastic
changes to their file systems.  Given the problems in the above
paragraph, plus politics as usual, I think it is unlikely that
other systems will be changed to have case sensitive file systems.
After all, it's not like it was easiest to make the VMS filesystem
case insensitive - that took extra effort on their part.

I think it's a mistake to move in the direction of requiring other
operating systems to become case sensitive.  If anything, motion in
the other direction might be of more benefit.

Note: I am NOT suggesting that UNIX should have a case insensitive
filesystem that maps everything to UPPER CASE like MS DOS.  There is
nothing wrong with mapping everything to lower case, for example.
It's also reasonable to leave the case alone, but ignore case in
comparisons.  There is also probably a good argument for keeping
it case sensitive (after all, there are probably 5 or 6 people out
there who really need both makefile and Makefile, or both mail and
Mail, for some reason that escapes me at the moment.)  But I think
it would be a mistake to require other systems to change if they
are to support a POSIX emulation on top of them.  (On the other hand,
it may be reasonable to expect other operating systems to support
more general file name lengths and character sets, rather than things
like the MS DOS 8+3 convention.  But in practice, this may be too
painful to fix.)

	Mark Horton

Volume-Number: Volume 7, Number 11



More information about the Mod.std.unix mailing list