Имя файла и расширение¶
Имя файла — название, под которым файл сохранён в файловой системе операционной системы или хранится на носителе. Вместе с расширением оно образует полное имя файла, определяющее, как объект отображается в графических оболочках и как к нему обращаются программы и командные строки.
¶Структура имени файла
Полное имя файла обычно состоит из двух частей: собственно имени и расширения, разделённых точкой. Расширение (также называют суффиксом или форматом файла) идёт последним и, как правило, указывает на тип содержимого или формат данных: .txt — текстовый файл, .jpg — изображение в формате JPEG, .docx — документ Microsoft Word, .pdf — документ Portable Document Format, .exe — исполняемый файл в Windows.
В Unix-системах расширение не является частью логики файловой системы: операционная система не использует его для определения типа файла. Тип в Unix определяется по содержимому (магическим числам) и правам на исполнение. В Windows, напротив, расширение играет ключевую роль: оно связывает файл с программой по умолчанию через реестр.
¶Ограничения на имена
Каждая файловая система накладывает свои ограничения на длину имени и допустимые символы:
| Файловая система | Максимальная длина имени | Особенности | |
|---|---|---|---|
| FAT32 | 255 символов | Запрещены `\ / : * ? " < > | ` |
| NTFS | 255 символов | Те же запрещённые символы; поддержка длинных путей до 32 000 символов | |
| ext4 (Linux) | 255 байт | Разрешены любые символы, кроме / и нулевого | |
| APFS (macOS) | 255 байт | Ограничение в 255 Unicode-символов |
В Windows и DOS запрещены также зарезервированные имена, связанные с драйверами устройств: CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9. Файл нельзя назвать con.txt — такая попытка приведёт к ошибке.
¶Регистр символов
В Windows и macOS по умолчанию файловая система не различает регистр: File.txt и file.txt считаются одним файлом. В Linux (ext4, XFS, Btrfs) регистр значим: File.txt и file.txt — два разных файла. Это различие является источником ошибок при переносе файлов между системами.
¶Путь к файлу
Чтобы обратиться к файлу, одного имени недостаточно — нужно указать путь. Абсолютный путь начинается с корня: в Windows это буква диска (C:\Users\Иван\Документы\отчёт.docx), в Unix — слэш (/home/ivan/documents/report.docx). Относительный путь задаётся относительно текущего рабочего каталога.
¶История
Понятие имени файла сформировалось в 1960-е годы вместе с появлением файловых систем. В ранних мейнфреймах IBM файлы идентифицировались не именами, а метками на перфокартах и специальными идентификаторами из восьми символов. В Unix V1 (1971) появилась схема «имя.расширение», которая затем была перенесена в MS-DOS (1981) и сохранилась в Windows.
¶Как узнать имя файла
В графических интерфейсах имя файла отображается под иконкой в проводнике (Windows), Finder (macOS) или файловом менеджере Linux (Nautilus, Dolphin). В командной строке имя выводится командами dir (Windows) и ls (Unix-подобные системы). Для получения полного пути в Windows используется команда cd (в текущем каталоге) или утилита realpath в Linux.
¶Интересные факты
- Самое длинное имя файла, зафиксированное в реестре Гиннесса, превышает 400 символов.
- В Windows 10 и 11 по умолчанию скрыты расширения файлов — это можно отключить в настройках проводника.
- Один и тот же файл в разных системах может иметь разные имена: например,
readme.txtв репозиториях иReadme.txtна macOS из-за нечувствительности к регистру.
¶Источники
- Руководство пользователя Microsoft Windows
- Documentation of the Linux kernel project (kernel.org)
- Tanenbaum A. S., Bos H. Modern Operating Systems
- Rushkoff D. Program or Be Programmed (исторический контекст имён файлов)
