• Korne127@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    16 hours ago

    Can’t relate. I use shell all the time, and I always use spaces in file paths, especially to make sure scripts I make still work then

  • zitrone 🍋@lemmings.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    i y’all just started using fish shell, you’d have proper shell completions and argument splitting that doesn’t care about spaces in file names

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    16
    ·
    2 days ago

    I very intentionally have all my code in Personal Projects 🥰 and Work Projects 🏦 directories so I can find bugs in the handling of file paths.

  • bob_lemon@feddit.org
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    2 days ago

    My work has me working with Matlab Simulink paths, which may (and sometimes actually do) contain newlines.

  • cally [he/they]@pawb.social
    link
    fedilink
    English
    arrow-up
    17
    ·
    3 days ago

    not sure why the default behavior is this:

    file\ name\ with\ a\ bunch\ of\ spaces

    instead of this:

    "file name with a bunch of spaces"

    but you can just press " before pressing tab to auto-complete, and it will use the 2nd form

    • killeronthecorner@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      Because quoting requires token expansion (e.g. ~ to /home/you). Escaping gives you a much shorter path in that case.

      That said I’m with you, full quoted paths read better to me.

  • lemming741@lemmy.world
    link
    fedilink
    English
    arrow-up
    187
    ·
    4 days ago

    Microsoft intentionally made programs install to C:\Program Files on Windows 95+ to force programmers to deal with spaces in filenames.

    Someone make one of those “statements made by the utterly deranged” memes about it, please and thank you.

    • FrostyPolicy@suppo.fi
      link
      fedilink
      arrow-up
      76
      ·
      edit-2
      4 days ago

      On Linux file systems you can use any character except NULL, and / is a reserved character.

      E.g. on ext-4 “All characters and character sequences permitted, except for NULL (‘\0’), ‘/’, and the special file names “.” and “…” which are reserved for indicating (respectively) current and parent directories.”

      • xthexder@l.sw0.com
        link
        fedilink
        arrow-up
        54
        ·
        4 days ago

        I once accidentally created a file with a newline character in it… it was pretty tricky to fix from command line.

        • GenderNeutralBro@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          12
          ·
          4 days ago

          I actually did this a lot on classic Mac OS. Intentionally.

          The reason was that you could put a carriage return as the first character of a file, and it would sort above everything else by name while otherwise being invisible. You just had to copy the carriage return from a text editor and then paste it into the rename field in the Finder.

          Since OS X / macOS can still read classic Mac HFS+ volumes, you can indeed still have carriage returns in file names on modern Macs. I don’t think you can create them on modern macOS, though. At least not in the Finder or with common Terminal commands.

        • lad@programming.dev
          link
          fedilink
          English
          arrow-up
          5
          ·
          3 days ago

          I created a file with backspace in name, it was hard to understand why filename doesn’t match

        • toynbee@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          4 days ago

          I don’t conduct interviews very often, but when I do, one of my questions is always about interacting with files that have special characters in the filename.

        • Warl0k3@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          4 days ago

          Did you not just use tab? That’s the usual method of dealing with weird characters in filenames that I’ve found

          • xthexder@l.sw0.com
            link
            fedilink
            arrow-up
            3
            ·
            4 days ago

            This was quite a while ago now, but I don’t think my shell escaped the tab complete properly, I remember it just printing a literal newline and evaluating it as a second command. I think there was other unicode in there too, otherwise I would have just typed it out. I had to do something with null terminated output and piping it in to mv, but I can’t remember what exactly.

          • Hupf@feddit.org
            link
            fedilink
            arrow-up
            1
            ·
            3 days ago

            Too bad when there’s multiple files starting with and consisting mostly of e.g. kanji (when on a Latin keyboard).

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        6
        ·
        4 days ago

        So … is allowed, or all whitespace, or Zalgo text.

        I mean, on the one hand, I guess why be restrictive, but on the other I feel like requiring something that looks like language somehow might be a good idea to avoid edge cases and attacks.

        • unalivejoy@lemmy.zip
          link
          fedilink
          English
          arrow-up
          12
          ·
          4 days ago

          You can have new lines in your file names. YSAP has a good video/playlist about how to deal with these and many more.

        • Hupf@feddit.org
          link
          fedilink
          arrow-up
          3
          ·
          3 days ago

          could you have .​.? I assume most terminals would just spell out .\x200b.?

          • CanadaPlus@lemmy.sdf.org
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            3 days ago

            Or use a hair space so it looks almost the same. Or … but you’ve added the right-to-left unicode character. I’m guessing there’s something that looks a lot like a period, too.

            If ext4 doesn’t include restrictions terminals probably should.

    • Gyroplast@pawb.social
      link
      fedilink
      English
      arrow-up
      22
      ·
      4 days ago

      In filenames? AMATEURS! Use obscure Unicode in your passphrases for maximum security. Ctrl-Shift-U, enter arbitrary code point, bam! 🦊 Works even better with a Compose key and a nice, chonky .XCompose file to throw some gr∑∑k letters around, for instance, like some confused script kiddie. :)

      On topic: There are multiple variants of spaces in Unicode. You’re welcome, and now go and create something utterly deranged with that information.

      • wizardbeard@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        8
        ·
        4 days ago

        I already deal far too much with trying to handle dumb fucking typos in employee data, and trying to turn human names into valid email addresses.

        The first time I encounter something like this there will be a body. It will not be found.

    • nialv7@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      4 days ago

      unix filenames are just string of bytes, the operating system does not interpret it in anyway. this is a much saner approach compared to Windows where language settings can change file system behavior.

      • who@feddit.org
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 days ago

        the operating system does not interpret it in anyway.

        *in any_way. ;)

    • TootSweet@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      4 days ago

      10 seconds of googling indicates this is true for Windows and Mac as well. I haven’t looked specifically, but I’d be a little surprised if it wasn’t true for Android and iOS as well.

      But really, why would they add rules to prevent people from using certain unicode codepoints in filenames? Should they disallow Klingon as well? Kanji? Of course not. Emojis are codepoints just like U+0061 is.

      Of course there are good reasons to disallow things like newlines and forward slashes in Linux filenames, but what specifically would even be the argument for preventing emojis?

    • bigfondue@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      3 days ago

      You can, but I downloaded some music the other day and I was trying to put the files onto my phone using KDE Connect, and I couldn’t understand why is wasn’t working until I got rid of the star emoji in the filenames. So I think Graphene/Android might still struggle with it.

      • Iced Raktajino@startrek.website
        link
        fedilink
        arrow-up
        2
        ·
        4 days ago

        Lol, I think that’s how I learned it was possible, too. yt-dlp uses the title as the filename, and all of the emojis came along with it. Was trying to rename them from terminal, but couldn’t do much when half the filenames started with the fire emoji lol.

    • 9point6@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      4 days ago

      It’s all just Unicode

      You can have emoji as your WiFi network name too

      Kinda interesting to see what older devices do when faced with such a network

  • zerofk@lemmy.zip
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    2 days ago

    Computers should just know when I want a space to be part of a file name, and when I want them to be argument separators. No more escaping or quoting.

    • rumba@lemmy.zip
      link
      fedilink
      English
      arrow-up
      7
      ·
      3 days ago

      agreed, “still worth it”

      I do, however, tend to keep spaces out of my folder names so i can just use quotes at the end.

      /Images/Halloween/Projections/“Creepy Crawlies.mp4”

  • asdfranger@lemmynsfw.com
    link
    fedilink
    arrow-up
    41
    ·
    edit-2
    4 days ago
    Oh\ come\ on,\ it\'s\ not\ that\ bad
    

    Some shells enclose those types of files within inverted commas. Such that:

    > ls
    file\ name.md
    

    is instead

    > ls
    'file name.md'
    

    (I use fish)

          • Revan343@lemmy.ca
            link
            fedilink
            arrow-up
            5
            ·
            4 days ago

            On its own, the backtick is primarily used in computing, and so doesn’t have an old-timey-English name, nor does the Jargon File mention a Commonwealth Hackish name for it. While there are a variety of other names, I don’t think any of them are specific to the UK

            When used with a letter, it marks a grave accent; this was its original purpose on a typewriter

        • Luc@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          4 days ago

          In dutch I’ve heard them be called flying commas unapologetically (vliegende comma’s — ironically has one in it because many plurals need it, it doesn’t mark possession)

  • Seefra 1@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    2 days ago

    The number of keystrokes needed to type an underscore is the same that you need to type backslash space, so I don’t see how underscores are in improvement

  • katy ✨@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    20
    ·
    4 days ago

    the struggle between spaces in filenames look cute and oh fuck what’s the code to reference a space in a filename in terminal?