При выборе допустимых имен файлов, необходимо учитывать правила именования файловых систем, которые могут различаться в зависимости от операционной системы. Рассмотрим наиболее распространенные правила для Windows и UNIX-подобных систем (например, Linux и macOS).
Windows:
- В Windows имена файлов не могут содержать некоторые специальные символы, такие как: \ / : * ? " < > |
- Максимальная длина имени файла обычно составляет 255 символов.
- Файл не может иметь имя, совпадающее с зарезервированными именами устройств, например: CON, PRN, AUX, NUL, COM1, COM2 и т.д.
UNIX-подобные системы:
- В UNIX-подобных системах имена файлов могут содержать практически любые символы, кроме символа '/' (который используется как разделитель каталогов) и символа нулевого байта (0x00).
- Максимальная длина имени файла также обычно составляет 255 символов.
Теперь рассмотрим каждый из предложенных вариантов:
*lesson.doc**
- Windows: Недопустимо. Символ '*' является специальным и используется как подстановочный знак в шаблонах поиска файлов.
- UNIX-подобные системы: Недопустимо. Хотя символ '' разрешен в именах файлов, использование его в таком виде может привести к путанице, так как '' часто используется в командной строке для обозначения любого количества символов.
lesson-.jpg
- Windows: Допустимо. Символ '-' разрешен в именах файлов и не вызывает никаких конфликтов.
- UNIX-подобные системы: Допустимо. Символ '-' также разрешен и не вызывает проблем.
lesson.exe
- Windows: Допустимо. Имя файла соответствует всем правилам именования.
- UNIX-подобные системы: Допустимо. Имя файла соответствует всем правилам именования, хотя расширение .exe обычно ассоциируется с исполняемыми файлами в Windows.
Итак, допустимые имена файлов из перечисленных выше:
- lesson-.jpg (допустимо как в Windows, так и в UNIX-подобных системах)
- lesson.exe (допустимо как в Windows, так и в UNIX-подобных системах)