Но в линуксе, и многих подобных ему unix-like системах - ничего такого просто нет. Имя файла это просто куча байт. При этом байты '\0' и '/' запрещены, создать файл с такими байтами в имени нельзя. Аналогично описанной тобой ситуации в винде. Да, запрещены байты, а не символы, но это не является проблемой для однобайтовых кодировок (ASCII, Latin-1, KOI8), и для многобайтовых (Shift-JIS, UTF8), в которых '\0' и '/' не могут быть частью многобайтовой последовательности. Сейчас все поголовно используют UTF8, как указал анонимус выше, и все счастливы, никаких проблем.
Поэтому, например, существуют целые талмуды о том, как правильно работать с путями файлов даже из банального bash[3], заточенного, казалось бы, на юникс по самые уши. Эти рецепты призваны обходить кривость bash как языка. Возьми, я не знаю, Python, и никаких подобных трюков не понадобится.
no subject
При этом байты '\0' и '/' запрещены, создать файл с такими байтами в имени нельзя. Аналогично описанной тобой ситуации в винде. Да, запрещены байты, а не символы, но это не является проблемой для однобайтовых кодировок (ASCII, Latin-1, KOI8), и для многобайтовых (Shift-JIS, UTF8), в которых '\0' и '/' не могут быть частью многобайтовой последовательности. Сейчас все поголовно используют UTF8, как указал анонимус выше, и все счастливы, никаких проблем.
Поэтому, например, существуют целые талмуды о том, как правильно работать с путями файлов даже из банального bash[3], заточенного, казалось бы, на юникс по самые уши.
Эти рецепты призваны обходить кривость bash как языка. Возьми, я не знаю, Python, и никаких подобных трюков не понадобится.