you are viewing a single comment's thread
view the rest of the comments
[–] 98 points 1 year ago (38 children)

I've recently learned that in Linux, you can use emois in filenames. I died a little lot inside when I learned that.

  • source
  • hideshow 38 child comments
  • [–] 77 points 1 year ago (19 children)

    On Linux file systems you can use any utf-8 character except NUL, and / is a reserved character.

  • source
  • parent
  • hideshow 19 child comments
  • [–] 54 points 1 year ago (14 children)

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

  • source
  • parent
  • hideshow 14 child comments
  • [–] 78 points 1 year ago (6 children)
  • [–] 29 points 1 year ago (3 children)
  • [–] 23 points 1 year ago (2 children)

    it was on accident, habibi, I swear 😁. I messed up some cmake code for preprocessing .txt ascii sprites into constants and accidentally created this abomination

  • source
  • parent
  • hideshow 2 child comments
  • [–] 13 points 1 year 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.

  • source
  • parent
  • [–] 3 points 1 year ago* (3 children)

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

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 1 year 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.

  • source
  • parent
  • [–] 6 points 1 year ago (3 children)

    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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 1 year ago (1 child)

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

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 1 year 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.

  • source
  • parent
  • [–] 25 points 1 year ago (3 children)

    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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 7 points 1 year 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.

  • source
  • parent
  • [–] 8 points 1 year 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?

  • source
  • parent
  • [+] 4 points 1 year ago* (last edited 8 months ago) (1 child)
  • 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.

  • source
  • parent