this post was submitted on 06 Sep 2024
613 points (90.4% liked)

linuxmemes

21197 readers
915 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    top 50 comments
    sorted by: hot top controversial new old
    [–] [email protected] 187 points 2 months ago (5 children)

    This is one case where I think Windows is appropriately designed for its target audience.

    [–] [email protected] 77 points 2 months ago (3 children)

    I don't really see the benefit of allowing users to create files with the same name in the same directory, yeah, yeah I know that case sensitivity means that it isn't same name, but imagine talking to a user, guiding them to open the file /tmp/doc/File and they open /tmp/doc/file instead

    [–] MartianSands 37 points 2 months ago (6 children)

    The reason, I suspect, is fundamentally because there's no relationship between the uppercase and lowercase characters unless someone goes out of their way to create it. That requires that the filesystem contain knowledge of the alphabet, which might work if all you wanted was to handle ASCII in American English, but isn't good for a system which needs to support the whole world.

    In fact, the UNIX filesystem isn't ASCII. It's also not unicode. UNIX uses arbitrary byte strings, with special significance given to a very small number of bytes (just '/' and '\0', I think). That means people are free to label files in whatever way they like, and their terminals or other applications are free to render them in whatever way seems appropriate, without the filesystem having to understand unicode.

    Adding case insensitivity would therefore actually be significant and unnecessary complexity to add to the filesystem drivers, and we'd probably take a big step backwards in support for other languages

    [–] [email protected] 17 points 2 months ago

    Oh, I realize why it is, I just don't see it as an advantage, the whole argument is just a technical one, not a usabillity one.

    load more comments (5 replies)
    load more comments (2 replies)
    [–] [email protected] 33 points 2 months ago* (last edited 2 months ago) (3 children)

    This isn't "Windows design"... this is just inherited stone age bullshit from the DOS days when the filesystem was FAT16 and all file names were uppercase 8.3.

    NTFS is case sensitive in its underlying design, but was made case insensitive by default, yet case preserving, for reasons of backwards compatibility.

    If Microsoft has to design something from scratch, without the need for backwards compatibility, they go for case sensitive themselves. For example: Azure Blob Storage has case sensitive file names.

    load more comments (3 replies)
    load more comments (3 replies)
    [–] [email protected] 109 points 2 months ago* (last edited 2 months ago) (11 children)

    It's neat that Linux has the ability to do this, but I honestly can't think of a good usecase for this. I think this is more confusing than it is useful

    [–] [email protected] 24 points 2 months ago (2 children)

    Git likes to have a word with you.

    [–] [email protected] 39 points 2 months ago* (last edited 2 months ago) (1 children)
    load more comments (1 replies)
    [–] [email protected] 12 points 2 months ago (1 children)

    Huh, what makes this a use case in favor of case sensitive file names? How does git use this feature?

    [–] [email protected] 26 points 2 months ago (1 children)

    Create multiple branches that only differ in cases from a Unix OS so it breaks git for Windows users in the same project.

    load more comments (1 replies)
    load more comments (10 replies)
    [–] [email protected] 53 points 2 months ago (13 children)

    Windows and NTFS support case sensitive filenames. The functionality is disabled for compatibility reasons.

    load more comments (13 replies)
    [–] [email protected] 49 points 2 months ago (5 children)

    I can make a file named COM1 on Linux. That's on the forbidden list for Windows.

    The forbidden list:

    • CON
    • PRN
    • AUX
    • CLOCK$
    • NUL
    • COM1
    • COM2
    • COM3
    • COM4
    • COM5
    • COM6
    • COM7
    • COM8
    • COM9
    • LPT1
    • LPT2
    • LPT3
    • LPT4
    • LPT5
    • LPT6
    • LPT7
    • LPT8
    • LPT9
    [–] [email protected] 18 points 2 months ago (1 children)

    That's because Windows is generally very backwards compatible.

    [–] the_crotch 15 points 2 months ago (1 children)

    So is Linux, but it puts stuff like that in /dev

    [–] [email protected] 14 points 2 months ago (5 children)

    The thing is, a lot of the legacy backwards compatible stuff that's in Linux is because a lot of things in Unix were actually pretty well thought out from the get go, unlike many of the ugly hacks that went into MSDOS and later Windows and overstayed their welcome.

    Things like: long case sensitive file names from the beginning instead of forced uppercase 8.3 , a hierarchical filesystem instead of drive letters, "everything is a file" concept, a notion of multiple users and permissions, pre-emptive multitasking, proper virtual memory management instead of a "640k is enough" + XMS + EMS, and so on.

    load more comments (5 replies)
    load more comments (4 replies)
    [–] [email protected] 46 points 2 months ago (4 children)

    But why though? Do you really want a bunch of file.txt File.txt FILE.txt fIle.txt FiLe.txt FIle.txt flIe.txt… I once had a nasty bug the O in a file name was a 0 and I didn’t notice I can’t imagine the horrors this would cause.

    load more comments (4 replies)
    [–] [email protected] 43 points 2 months ago (9 children)

    Oh it's even better, windows explorer can't really do case sensitive

    But NTFS is a case sensitive file system

    This occasionally manifests in mind boggling problems

    [–] [email protected] 14 points 2 months ago (2 children)

    Yeah, it's super weird. I once named a file with mixed case, but one of the letters was the wrong case. Renaming the file didn't work at first. Renaming a file named PAscalCase.txt to PascalCase.txt resulted in no change to the filename. Windows continued to show it as PAscalCase.txt. I had to rename it to something totally different with different characters entirely, then rename it again to get it right.

    load more comments (2 replies)
    load more comments (8 replies)
    [–] [email protected] 41 points 2 months ago (3 children)

    And i hate it being case sensitive

    [–] [email protected] 29 points 2 months ago (3 children)

    Yeah, right? Are we pretending that having case sensitive file names isn't a bad call, or...? There are literally no upsides to it. Is that the joke?

    [–] [email protected] 30 points 2 months ago (6 children)

    I'm with you here, i find it infuriating and i never ever had the situation where this was beneficial.

    Like who tf actually creates a File.txt, file.txt AND FILE.TXT in one place and actually differentiates them with that.

    load more comments (6 replies)
    load more comments (2 replies)
    [–] [email protected] 21 points 2 months ago

    And I love it.

    load more comments (1 replies)
    [–] [email protected] 40 points 2 months ago (1 children)

    Even more annoying is that it's very cumbersome to change the case of a file once you've created it.

    If you accidentally create fIle.txt when you meant File.txt, the rename function does nothing ... and it will keep displaying as fIle.txt. You have to rename it to something else entirely, then rename it back to the original name with the intended case.

    [–] [email protected] 14 points 2 months ago (1 children)
    load more comments (1 replies)
    [–] [email protected] 40 points 2 months ago (1 children)

    thank god it's not case sensitive holy shit. i don't understand the kind of person who would see that as a positive.

    [–] [email protected] 23 points 2 months ago (2 children)

    Seriously.

    It sounds like a fucking nightmare. Imagine working on something for days and it refuses to work cause you accidentally capitalized 1 file name and dont notice it?

    That sounds like the kind of shit they'd do in tech hell.

    load more comments (2 replies)
    [–] [email protected] 38 points 2 months ago (5 children)

    To screw with Windows users, you should sometimes put a README.md as well as a README.MD in your git repos. It leads to interesting results.

    load more comments (5 replies)
    [–] [email protected] 34 points 2 months ago (4 children)

    Is it just me or is that more of a hinderance?

    [–] [email protected] 15 points 2 months ago (2 children)

    I absolutely fail to see the utility of having a user called Bob and bob, or a dir called Downloads and downloads. Capitalisation makes sense in code - at a glance I can know I'm looking at a Class or a var, but for system administration it has only ever wasted time, and not once made anything easier.

    load more comments (2 replies)
    load more comments (3 replies)
    [–] [email protected] 32 points 2 months ago (1 children)

    Yeah I've been using Linux for a very long time. The amount of time I've spent on the case being incorrect is non-trivial. I've gotten better at not screwing it up throughout the years but the sum of advantages is far outweighed by the sum of debugging time spent.

    [–] [email protected] 13 points 2 months ago (1 children)

    Case sensitivity is so much of a problem, that in college, people were always told to keep all their filenames all lowercase, to avoid issues with them.

    load more comments (1 replies)
    [–] [email protected] 30 points 2 months ago* (last edited 2 months ago) (2 children)

    cd downloads

    bash: cd: downloads: No such file or directory

    cd Downloads

    user@pcname:~/Downloads$

    [–] [email protected] 24 points 2 months ago* (last edited 2 months ago)

    Bash has an option for that you can put in your .bashrc:

    bind "set completion-ignore-case on"
    

    Other interesting options exist

    [–] [email protected] 12 points 2 months ago (2 children)

    Zsh autocompletes lowercase input to the correct file or folder name when using tab. It's great!

    load more comments (2 replies)
    [–] [email protected] 30 points 2 months ago (18 children)

    I'm with windows on this one. Case insensitive is much more ergonomics with the only sacrifice represented by this meme. And a little bit of performance of course. But the ergonomics are worth it imo.

    load more comments (18 replies)
    [–] [email protected] 26 points 2 months ago (14 children)

    Windows way is superior, in my opinion. I don't think there's a need for File.txt and fILE.txt

    [–] [email protected] 24 points 2 months ago

    FlLE.txt FILE.txt

    [–] [email protected] 17 points 2 months ago* (last edited 2 months ago) (6 children)

    Indeed. Linux ~~audio~~ also allows control characters like backspace to be part of a file name (though it is harder to make such file as you can't just type the name). Which is just horrible.

    load more comments (6 replies)
    load more comments (12 replies)
    [–] [email protected] 24 points 2 months ago (2 children)

    I find it really fucking irritating on Linux tbh. It knew what file I meant.

    load more comments (2 replies)
    [–] [email protected] 20 points 2 months ago* (last edited 2 months ago) (3 children)

    The main problem with case-insensitive is that software sometimes is lazily developed: If a file is named “File.txt” and a program opens “file.txt”, then on a case-insensitive file system it will work fine. If you then format your drive to case-sensitive, the same software now fails to load the file. Source: tried case-sensitive filesystem on macOS some years ago.

    load more comments (3 replies)
    [–] [email protected] 20 points 2 months ago (2 children)

    The android build system used that limitation of Windows to prevent android from being built on Windows. They purposely had directories with the same name but different capitalization.

    load more comments (2 replies)
    [–] [email protected] 19 points 2 months ago* (last edited 2 months ago) (4 children)

    Case-sensitive is easier to implement; it's just a string of bytes. Case-insensitive requires a lot of code to get right, since it has to interpret symbols that make sense to humans. So, something over wondered about:

    That's not hard for ASCII, but what about Unicode? Is the precomposed ç treated the same lexically and by the API as Latin capital letter c + combining cedilla? Does the OS normalize all of one form to the other? Is ß the same as SS? What about alternate glyphs, like half width or full width forms? Is it i18n-sensitive, so that, say, E and É are treated the same in French localization? Are Katakana and Hiragana characters equivalent?

    I dunno, as a long-time Unix and Linux user, I haven't tried these things, but it seems odd to me to build a set of character equivalences into the filesystem code, unless you're going to do do all of them. (But then, they're idiosyncratic and may conflict between languages, like how ö is its letter in the Swedish alphabet.)

    load more comments (4 replies)
    [–] [email protected] 17 points 2 months ago (4 children)

    Strictly speaking, this is a limitation of the default filesystem, and not the core operating system. If you mount a NFS share that is case sensitive, it will still be case sensitive.

    load more comments (4 replies)
    [–] [email protected] 17 points 2 months ago (3 children)

    What I really like is a naming files with a forbidden windows character in Linux and they wont copy over to a windows partition. I end up using a question mark quite a bit for some reason.

    load more comments (3 replies)
    [–] [email protected] 16 points 2 months ago

    The meme faces are backwards on this one.

    [–] [email protected] 15 points 2 months ago

    Fun things happen whenever you upload 2 files with the same names, but differently capitalized letters to a Nas from a linux box, and then try to delete one of them from windows. It broke so hard I actually got a bsod....

    [–] lastunusedusername2 14 points 2 months ago

    This puts the win in Windows

    [–] [email protected] 13 points 2 months ago* (last edited 2 months ago) (1 children)

    What a tragedy. Giving files slightly different names seems far more organized and logical than having several files with the same name and different capitalization. Really seems like a non-issue to me.

    EDIT: I will never simp for Windows or Microsoft, I definitely think Linux is better in many ways. But my point still stands about this specific topic.

    load more comments (1 replies)
    [–] [email protected] 12 points 2 months ago (4 children)

    Case sensitivity is how we get SovCits…..

    load more comments (4 replies)
    load more comments
    view more: next ›