• FrostyPolicy@suppo.fi
    link
    fedilink
    arrow-up
    69
    ·
    edit-2
    1 day 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
      49
      ·
      1 day ago

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

      • lad@programming.dev
        link
        fedilink
        English
        arrow-up
        5
        ·
        16 hours ago

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

      • GenderNeutralBro@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        11
        ·
        1 day 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.

      • toynbee@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        1 day 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
        1 day ago

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

        • Hupf@feddit.org
          link
          fedilink
          arrow-up
          1
          ·
          16 hours ago

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

        • xthexder@l.sw0.com
          link
          fedilink
          arrow-up
          3
          ·
          24 hours 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.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      5
      ·
      1 day 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.

      • Hupf@feddit.org
        link
        fedilink
        arrow-up
        2
        ·
        16 hours ago

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

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          6 hours 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.

      • unalivejoy@lemmy.zip
        link
        fedilink
        English
        arrow-up
        12
        ·
        1 day 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.