Открыть сервисСервис

Имя файла и расширение

Имя файла — название, под которым файл сохранён в файловой системе операционной системы или хранится на носителе. Вместе с расширением оно образует полное имя файла, определяющее, как объект отображается в графических оболочках и как к нему обращаются программы и командные строки.

Структура имени файла

Полное имя файла обычно состоит из двух частей: собственно имени и расширения, разделённых точкой. Расширение (также называют суффиксом или форматом файла) идёт последним и, как правило, указывает на тип содержимого или формат данных: .txt — текстовый файл, .jpg — изображение в формате JPEG, .docx — документ Microsoft Word, .pdf — документ Portable Document Format, .exe — исполняемый файл в Windows.

В Unix-системах расширение не является частью логики файловой системы: операционная система не использует его для определения типа файла. Тип в Unix определяется по содержимому (магическим числам) и правам на исполнение. В Windows, напротив, расширение играет ключевую роль: оно связывает файл с программой по умолчанию через реестр.

Ограничения на имена

Каждая файловая система накладывает свои ограничения на длину имени и допустимые символы:

Файловая системаМаксимальная длина имениОсобенности
FAT32255 символовЗапрещены `\ / : * ? " < >`
NTFS255 символовТе же запрещённые символы; поддержка длинных путей до 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 (исторический контекст имён файлов)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru