From Windows to UNIX: Case Sensitivity
scottalanmiller last edited by scottalanmiller
A key difference between Windows and UNIX systems is case sensitivity. Windows is, by and large, case insensitive (or non-case sensitive.) File names will retain capitalization when specified but the system treats files (and other other things) as equal when capitalized or when not (but not passwords, which can confused new users.) This comes from an eight bit legacy of where Windows is rooted, from its early DOS heritage. UNIX originated on much larger and powerful machines, even though it is nearly fifteen years older, and uses full case sensitivity on names.
Both approaches have their merits and caveats. And the mix of uses can make using files between the two systems problematic as a UNIX directory could easily contain two files that UNIX and UNIX users would see as being clearly different, unrelated files but Windows and Windows users would feel are the same file.
So, on a UNIX system, which includes Linux, these would be totally different files, even if they are all in the same directory:
File file FiLe fILE
On Windows, there would be no way to designate those as different files. This can be extremely confusing for people moving to UNIX who casually use (and just as casually ignore) capitalization and cannot locate files again. It is standard practice on UNIX systems to generally avoid capitalization in system files names and nearly as often to avoid it in user file names. Use capitalization carefully in UNIX and, more importantly, use it consciously and deliberately when needed. Do not be capricious with capitalization.
When we look at filenames as a collection of ASCII text codes, the idea that different codes would be seen as the same file becomes complex and confusing.