Slashdot Mirror


Linux/Mac/Windows File Name Friction

lessthan0 writes "In 1995, Microsoft added long file name support to Windows, allowing more descriptive names than the limited 8.3 DOS format. Mac users scoffed, having had long file names for a decade and because Windows still stored a DOS file name in the background. Linux was born with long file name support four years before it showed up in Windows. Today, long file names are well supported by all three operating systems though key differences remain. "

11 of 638 comments (clear)

  1. I RTFA by grasshoppa · · Score: 4, Insightful

    But in this particular case, the summary has as much meat as the story, with the added benefit of saying it in a paragraph instead of several ( and even that's too long ).

    For those of you who haven't read it, here it is: Windows, Linux and Mac OS X all support long file names, albeit differently. Linux is case sensitive, the others are not.

    Tada! Two sentances. I imagine, were I a perl coder, I could have done it in half of one, but there you go.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  2. Re:spaces bad, special chars bad by Chris+Graham · · Score: 5, Insightful

    You have some good points, but I really can't agree with two of your complaints... "the semantic mapping of the extension to filetype, WTF" It seems far better to me than mime-types or magic strings. Mime-types fail due to not being actually encoded on-filesystem, and magic strings require users to use a hex editor to try and identify an alien file type. "the case insensitive nature of file names" Case sensitivity is a big usability issue for people, so burdening the few (the programmers) so that the majority (the users) don't get confused, is a fair trade of IMHO.

  3. Bah - OS Vendor support of long filenames by Rauser · · Score: 5, Insightful

    So, your OS supports long filenames, huh? Then why doesn't the vendor use them for all the cryptically named shared libraries, scripts, etc. that clutter up any modern os system directory?

    They way I look at it, the day I look at something like "d3d8.dll" or whatever drek is fermenting in \WINDOWS32\ and it is actually named with a descriptive filename, then that OS will truly support long filenames.

    Not sure where the Linux crown compares, but OS X is getting better with each revision. Classic Mac OS had this one down (mostly) cold.

    --
    The white zone is for loading and unloading only. If you need to load or unload go to the white zone. It's a way of life
  4. Article is incorrect by joshv · · Score: 5, Insightful

    From the wikipedia entry on NTFS:

    "Though the file system supports paths up to ca. 32,000 Unicode characters with each path component (directory or filename) up to 255 characters long, certain names are unusable, since NTFS stores its metadata in regular (albeit hidden and for the most part inaccessible) files; accordingly, user files cannot use these names."

    The article incorrectly states "Windows file names can be up to 255 characters, but that includes the full path. A lot characters are wasted if the default storage location is used: "C:\Documents and Settings\USER\My Documents\"." I will grant that this may have been a limitation in the past, but XP has had NTFS from the start, and NTFS is by far the most common windows FS today.

  5. Re:c:\progra~1\Micros~1\Powerp~1 by stupidfoo · · Score: 4, Insightful

    The problem with that is that it goes to the first one in alphabetical order. So if you had c:\program files\Microsaucer and c:\program files\Microsoft it will go to microsaucer.

  6. Re:Long filename horror story by mausmalone · · Score: 5, Insightful

    Perhaps that's a bit long of a file name, but it's at least descriptive. I can't tell you how many times I've gotten files titled Agenda 01.doc when they should be more like Tech Committee Agenda 2006-05-01.doc -- it's not excessively long, but with a file name like that I know EXACTLY what's in that file.

    --
    -=-=-=-=-=
    I'd rather be flamed than ignored.
  7. Re:Any way to turn off Joliet support in Windows X by GotenXiao · · Score: 3, Insightful

    Well, if MS hadn't decided to use \ as a directory separator, you could just backslash it. But no. MS had to be retarded.

    --
    Goten Xiao
  8. Re:spaces bad, special chars bad by Tom · · Score: 4, Insightful

    It seems far better to me than mime-types or magic strings.

    Seems, yes. Is? No way in hell.

    The problem is that extensions are part of the filename, i.e. they are arbitrary. Mapping arbitrary data to meta information is stupid at best, dangerous usually and in combination with hidden extensions and automatic execution it is a blatant disregard of even the most basic security procedures.

    aka "lookhereiamcertainlynotavirus.jpg.exe"

    --
    Assorted stuff I do sometimes: Lemuria.org
  9. rsync by gatzke · · Score: 3, Insightful


    I just hit the file name issue trying to sync some stuff between unix / Windows XP using rsync.

    The case insensitivity was annoying and the limited char set on XP was no good.

    Again, you would think they would have fixed this on XP.

  10. Re:Unusual characters in filenames by MS-06FZ · · Score: 4, Insightful

    Or perhaps more simply:

    rm ./-annoying_file

    --
    ---GEC
    I'm but the humble pupil, seeking to snatch the scratchbuilt pebble from the master's fully articulated hand
  11. colon in Mac OS X file names by pikine · · Score: 3, Insightful
    OS X supports up to 255 characters and can use the same characters as Linux, except for a colon (:).

    In Terminal.app, you can create file names with colon, but such character is mapped to a forward slash when seen in Finder. On the other hand, you can use forward slash in Finder, and it is mapped to a colon in the command line.

    Historically, Mac OSes use colon to separate folder names in a path.

    There is a subtle restriction in HFS+. All files in HFS+ have their names in normalized unicode, and in order to normalize in the first place, file names must be in valid UTF-8 encoding. You cannot use random character string for file names.

    There is no such restriction for UFS on Mac OS X. I think UFS supports roughly the same characters as in BSD and Linux and any other Unices. If you're transferring files from Linux with names in a legacy encoding, you can create a UFS disk image and convert file names to UTF-8 before copying them to HFS+.

    --
    I once had a signature.