Правила именования файлов кратко

Обновлено: 05.07.2024

Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов.

ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и тоже, но для UNIX это разные файлы.

Во многих ОС имя файла состоит из двух частей, разделенных точкой, например windows.exe. Часть после точки называют расширением файла. По нему система различает тип файла.

У MS-DOS расширение составляет 3 символа. По нему система различает тип файла, а также можно его исполнять или нет.

У UNIX расширение ограничено размером имени файла в 255 символов, также у UNIX может быть несколько расширений, но расширениями пользуются больше прикладные программы, а не ОС. По расширению UNIX не может определить исполняемый это файл или нет.

2.1.2 Структура файла

Три основные структуры файлов:

Последовательность байтов - ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкость использования. Используются в Windows и UNIX.

Последовательность записей - записей фиксированной длины (например, перфокарта), считываются последовательно. Сейчас не используются.

Дерево записей - каждая запись имеет ключ, записи считываются по ключу. Основное преимущество такой системы, это скорость поиска. Пока еще используется на мэйнфреймах.

Три типа структур файла.

2.1.3 Типы файлов

Основные типы файлов:

Регулярные - содержат информацию пользователя. Используются в Windows и UNIX.

Каталоги - системные файлы, обеспечивающие поддержку структуры файловой системы. Используются в Windows и UNIX.

Символьные - для моделирования ввода-вывода. Используются только в UNIX.

Блочные - для моделирования дисков. Используются только в UNIX.

Основные типы регулярных файлов:

ASCII файлы - состоят из текстовых строк. Каждая строка завершается возвратом каретки (Windows), символом перевода строки (UNIX) и используются оба варианта (MS-DOS). Поэтому если открыть текстовый файл, написанный в UNIX, в Windows, то все строки сольются в одну большую строку, но под MS-DOS они не сольются (это достаточно частая ситуация). Основные преимущества ASCII файлов:
- могут отображаться на экране, и выводится на принтер без преобразований
- могут редактироваться почти любым редактором

Двоичные файлы - остальные файлы (не ASCII). Как правило, имеют внутреннею структуру.

Основные типы двоичных файлов:

Исполняемые - программы, их может обрабатывать сама операционная система, хотя они записаны в виде последовательности байт.

Неисполняемые - все остальные.

Примеры исполняемого и не исполняемого файла

2.1.4 Доступ к файлам

Основные виды доступа к файлам:

Последовательный - байты читаются по порядку. Использовались, когда были магнитные ленты.

Произвольный - файл можно читать с произвольной точки. Основное преимущество возникает, когда используются большие файлы (например, баз данных) и надо считать только часть данных из файла. Все современные ОС используют этот доступ.

2.1.5 Атрибуты файла

Основные атрибуты файла:

Защита - кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX.

Пароль - пароль к файлу

Создатель - кто создал файл

Владелец - текущий владелец файла

Флаг "только чтение" - 0 - для чтения/записи, 1 - только для чтения. Используются в Windows.

Флаг "скрытый" - 0 - виден, 1 - невиден в перечне файлов каталога (по умолчанию). Используются в Windows.

Флаг "системный" - 0 - нормальный, 1 - системный. Используются в Windows.

Флаг "архивный" - готов или нет для архивации (не путать сжатием). Используются в Windows.

Флаг "сжатый" - файл сжимается (подобие zip архивов). Используются в Windows.

Флаг "шифрованный" - используется алгоритм шифрования. Если кто-то попытается прочесть файл, не имеющий на это прав, он не сможет его прочесть. Используются в Windows.

Флаг ASCII/двоичный - 0 - ASCII, 1 - двоичный

Флаг произвольного доступа - 0 - только последовательный, 1 - произвольный доступ

Флаг "временный" - 0 - нормальный, 1 - для удаления файла по окончании работы процесса

Флаг блокировки - блокировка доступа к файлу. Если он занят для редактирования.

Время создания - дата и время создания. Используются UNIX.

Время последнего доступа - дата и время последнего доступа

Время последнего изменения - дата и время последнего изменения. Используются в Windows и UNIX.

Текущий размер - размер файла. Используются в Windows и UNIX.

2.1.6 Операции с файлами

Основные системные вызовы для работы с файлами:

Create - создание файла без данных.

Delete - удаление файла.

Open - открытие файла.

Close - закрытие файла.

Read - чтение из файла, с текущей позиции файла.

Write - запись в файл, в текущею позицию файла.

Append - добавление в конец файла.

Seek - устанавливает файловый указатель в определенную позицию в файле.

Get attributes - получение атрибутов файла.

Set attributes - установить атрибутов файла.

Rename - переименование файла.

2.1.7 Файлы, отображаемые на адресное пространство памяти

Иногда удобно файл отобразить в памяти (не надо использовать системные вызовы ввода-вывода для работы с файлом), и работать с памятью, а потом записать измененный файл на диск.

При использовании страничной организации памяти, файл целиком не загружается, а загружаются только необходимые страницы.

При использовании сегментной организации памяти, файл загружают в отдельный сегмент.

Пример копирования файла через отображение в памяти.

Создается сегмент для файла 1

Файл отображается в памяти

Создается сегмент для файла 2

Сегмент 1 копируется в сегмент 2

Сегмент 2 сохраняется на диске

Недостатки этого метода:

Тяжело определить длину выходного файла

Если один процесс отобразил файл в памяти и изменил его, но файл еще не сохранен, второй процесс откроет это же файл, и будет работать с устаревшим файлом.

Файл может оказаться большим, больше сегмента или виртуального пространства.

2.2 Каталоги

2.2.1 Одноуровневые каталоговые системы

В этой системе все файлы содержатся в одном каталоге.

Однокаталоговая система, содержащая четыре файла, файлов А два, но разных владельцев

Возможность быстро найти файл, не надо лазить по каталогам

Различные пользователи могут создать файлы с одинаковыми именами.

2.2.2 Двухуровневые каталоговые системы

Для каждого пользователя создается свой собственный каталог.

Двухуровневая каталоговая система

Пользователь, при входе в систему, попадает в свой каталог и работает только с ним. Это делает проблематичным использование системных файлов.

Эту проблему можно решить созданием системного каталога, с общим доступом.

Если у одного пользователя много файлов, то у него тоже может возникнуть необходимость в файлах с одинаковыми именами.

2.2.3 Иерархические каталоговые системы

Каждый пользователь может создавать столько каталогов, сколько ему нужно.

Иерархическая каталоговая система

Почти все современные универсальные ОС, организованы таким образом. Специализированным ОС это может быть не нужным.

2.2.4 Имя пути

Для организации дерева каталогов нужен некоторый способ указания файла.

Два основных метода указания файла:

абсолютное имя пути - указывает путь от корневого каталога, например:
- для Windows \usr\ast\mailbox
- для UNIX /usr/ast/mailbox
- для MULTICS >usr>ast>mailbox

относительное имя пути - путь указывается от текущего каталога (рабочего каталога), например:
- если текущий каталог /usr/, то абсолютный путь /usr/ast/mailbox перепишется в ast/mailbox
- если текущий каталог /usr/ast/, то абсолютный путь /usr/ast/mailbox перепишется в mailbox
- если текущий каталог /var/log/, то абсолютный путь /usr/ast/mailbox перепишется в ../../usr/ast/mailbox

./ - означает текущий каталог

../ - означает родительский каталог

2.2.5 Операции с каталогами

Основные системные вызовы для работы с каталогами:

Create - создать каталог

Delete - удалить каталог

OpenDir - закрыть каталог

CloseDir - закрыть каталог

ReadDir - прочитать следующий элемент открытого каталога

Rename - переименование каталога

Link - создание жесткой ссылки, позволяет файлу присутствовать сразу в нескольких каталогах.

все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Windows разработчики, работающие с Windowsными api-интерфейсами для файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.

Доступ к данным можно получить с дисков, устройств и сетевых ресурсов с помощью API файлового ввода-вывода. Файлы и каталоги вместе с пространствами имен являются частью концепции пути, которая представляет собой строковое представление места получения данных независимо от диска, устройства или сетевого подключения для конкретной операции.

Некоторые файловые системы, такие как NTFS, поддерживают связанные файлы и каталоги, которые также следуют соглашениям об именовании файлов и правилам, как обычный файл или каталог. Дополнительные сведения см. в разделах жесткие связи, соединения и точки повторного анализа и операции с файлами.

Дополнительные сведения см. в следующих подразделах:

дополнительные сведения о настройке Windows 10 для поддержки длинных путей к файлам см. в разделе ограничение максимальной длины пути.

Имена файлов и каталогов

Все файловые системы используют те же общие соглашения об именовании для отдельного файла: имя базового файла и дополнительное расширение, разделенные точкой. Однако каждая файловая система, такая как NTFS, CDFS, exFAT, UDF, FAT и FAT32, может иметь определенные и разные правила формирования отдельных компонентов пути к каталогу или файлу. Обратите внимание, что Каталог — это просто файл с особым атрибутом, обозначающий его как каталог, но в противном случае он должен следовать тем же правилам именования, что и обычный файл. Поскольку Каталог терминов просто относится к особому типу файлов, с точки зрения файловой системы, некоторые справочные материалы будут использовать файл общего термина для того, чтобы охватить обе концепции каталогов и файлов данных. Из-за этого, если не указано иное, любые правила именования и использования, а также примеры для файла должны применяться и к каталогу. Термин путь ссылается на один или несколько каталогов, обратные косые черты и, возможно, имя тома. Дополнительные сведения см. в разделе пути .

Ограничения количества символов также могут быть разными и могут различаться в зависимости от используемого формата префикса файловой системы и имени пути. Это усложняется за счет поддержки механизмов обратной совместимости. Например, более старая файловая система MS-DOS FAT поддерживает не более 8 символов для базового имени файла и 3 символа для расширения, а всего 12 символов, включая разделитель точек. Обычно это называется именем файла 8,3. Windows файловые системы FAT и NTFS не ограничиваются 8,3 именами файлов, так как они имеют длинную поддержку имен файлов, но по-прежнему поддерживают версию 8,3 длинных имен файлов.

Соглашения об именах

Следующие фундаментальные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы.

Используйте точку, чтобы отделить базовое имя файла от расширения в имени каталога или файла.

Используйте обратную косую черту ( \ ) для разделения компонентов пути. Обратная косая черта разделяет имя файла от пути к нему и одно имя каталога из другого имени каталога в пути. Нельзя использовать обратную косую черту в имени для фактического файла или каталога, так как это зарезервированный символ, разделяющий имена в компоненты.

Используйте обратную косую черту в качестве части имен томов, например "c: \ " в "c: \ path \ File" или " \ \ Серверный \ общий ресурс" в разделе " \ \ \ файл пути к общей папке сервера \ \ " для имен в формате UNC. Дополнительные сведения об именах UNC см. в разделе ограничение максимальной длины пути .

Не думайте о чувствительности к регистру. Например, имена OSCAR, OSCAR и OSCAR должны быть одинаковыми, даже если некоторые файловые системы (такие как POSIX-совместимая файловая система) могут считать их разными. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Дополнительные сведения см. в разделе CreateFile.

Обозначения томов (буквы диска) не учитывают регистр. Например, "D: \ " и "d: \ " ссылаются на один и тот же том.

Используйте любой символ в текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128 – 255), за исключением следующих:

Следующие зарезервированные символы:

  • (больше чем);
  • : (двоеточие)
  • " (двойная кавычка)
  • / (косая черта)
  • \ знака
  • | (вертикальная черта или вертикальная линия)
  • ? (вопросительный знак)
  • * *

Целочисленное значение ноль, которое иногда называют символом ASCII NUL .

Символы, целочисленное представление которых находится в диапазоне от 1 до 31, за исключением альтернативных потоков данных, в которых разрешены эти символы. дополнительные сведения о файловых потоках см. в разделе file Потоки.

Любой другой символ, который не разрешен целевой файловой системой.

Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например. \temp.txt ". Дополнительные сведения см. в разделе paths.

Используйте две последовательные точки (..) как компонент каталога в пути, чтобы представить родителя текущего каталога, например. \temp.txt ". Дополнительные сведения см. в разделе paths.

Не используйте следующие зарезервированные имена для имени файла:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также Избегайте этих имен сразу после расширения; Например, не рекомендуется использовать NUL.txt. Дополнительные сведения см. в разделе Пространства имен.

Не завершайте имя файла или каталога с пробелом или точкой. хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс не поддерживаются. Однако можно указать точку в качестве первого символа имени. Например, ". temp".

Короткие и длинные имена

Длинное имя файла считается любым именем файла, которое превышает короткое соглашение об именовании в стиле MS-DOS (также называемое 8,3). при создании длинного имени файла Windows также может создать короткую форму 8,3 имени, именуемую псевдонимом 8,3 или коротким именем, а также сохранить ее на диске. Это 8,3 может быть отключено для повышения производительности в зависимости от конкретной файловой системы.

Windows server 2008, Windows Vista, Windows Server 2003 и Windows XP: 8,3 псевдонимы не могут быть отключены для указанных томов до Windows 7 и Windows Server 2008 R2.

Во многих файловых системах имя файла будет содержать символ тильды (~) в каждом компоненте имени, которое слишком длинное для соответствия правилам именования 8,3.

Не все файловые системы следуют соглашению о подстановке тильды, и системы могут быть настроены на отключение создания псевдонима 8,3, даже если они обычно поддерживаются. Поэтому не следует предполагать, что псевдоним 8,3 уже существует на диске.

Чтобы запросить 8,3 имен файлов, длинных имен файлов или полного пути к файлу из системы, рассмотрите следующие варианты.

  • Чтобы получить форму 8,3 с длинным именем файла, используйте функцию GetShortPathName .
  • Чтобы получить длинную версию короткого имени файла, используйте функцию жетлонгпаснаме .
  • Чтобы получить полный путь к файлу, используйте функцию жетфуллпаснаме .

в новых файловых системах, таких как NTFS, exFAT, udf и FAT32, Windows сохраняет длинные имена файлов на диске в юникоде, что означает, что исходное имя длинного файла всегда сохраняется. Это справедливо даже в том случае, если длинное имя файла содержит символы национальных алфавитов, независимо от того, какая кодовая страница активна во время операции чтения или записи с диска.

файлы, использующие длинные имена файлов, можно скопировать между разделами файловой системы NTFS и Windows разделами файловой системы FAT без потери сведений об имени файла. Это может быть неверно для старых файлов MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM) в зависимости от фактического имени файла. В этом случае короткое имя файла подставляется по возможности.

Путь к указанному файлу состоит из одного или нескольких компонентов, разделенных специальным символом (обратная косая черта), каждый компонент обычно является именем каталога или именем файла, но с некоторыми важными исключениями, описанными ниже. Часто очень важно интерпретировать систему пути, который выглядит как начало или префикс пути. Этот префикс определяет пространство имен , используемое в пути, а также специальные символы, используемые в качестве позиции внутри пути, включая последний символ.

Если компонент пути является именем файла, то он должен быть последним компонентом.

Каждый компонент пути также будет ограничен максимальной длиной, указанной для конкретной файловой системы. Как правило, эти правила делятся на две категории: Short и Long. Обратите внимание, что имена каталогов хранятся в файловой системе как файлы особого типа, но правила именования для файлов также применяются к именам каталогов. Для суммирования путь — это просто строковое представление иерархии между всеми каталогами, которые существуют для определенного имени файла или каталога.

Полные и относительные пути

для функций API Windows, которые управляют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторым api требуется полный путь. Имя файла задается относительно текущего каталога, если он не начинается с одного из следующих:

  • UNC-имя любого формата, который всегда начинается с двух символов обратной косой черты (" \ \ "). Дополнительные сведения см. в следующем разделе.
  • Обозначение диска с обратной косой чертой, например "C: \ " или "d: \ ".
  • Одна обратная косая черта, например " \ Directory" или " \file.txt". Это также называется абсолютным путем.

Если имя файла начинается только с обозначения диска, но не с обратной косой черты после двоеточия, то оно интерпретируется как относительный путь к текущему каталогу на диске с указанной буквой. Обратите внимание, что текущий каталог может быть или не являться корневым каталогом, в зависимости от того, на что он был установлен во время последней операции "изменение каталога" на этом диске. Ниже приведены примеры этого формата.

  • "C:tmp.txt" ссылается на файл с именем "tmp.txt" в текущем каталоге на диске C.
  • "К:темпдир \tmp.txt" ссылается на файл в подкаталоге для текущего каталога на диске C.

Путь также считается относительным, если он содержит "двойные точки"; то есть две точки вместе находятся в одном компоненте пути. Этот Специальный описатель используется для обозначения каталога над текущим каталогом, в противном случае известный как "родительский каталог". Ниже приведены примеры этого формата.

  • "..\tmp.txt "указывает файл с именем tmp.txt, расположенный в родительском каталоге текущего каталога.
  • "..\..\tmp.txt "указывает файл, который является двумя каталогами над текущим каталогом.
  • "..\ TEMPDIR \tmp.txt "указывает файл с именем tmp.txt, расположенный в каталоге с именем TEMPDIR, который является однорангым каталогом для текущего каталога.

Относительные пути могут сочетать оба типа примеров, например "К. \tmp.txt ". Это полезно, поскольку, несмотря на то, что система отслеживает текущий диск вместе с текущим каталогом этого диска, она также следит за текущими каталогами на разных буквах диска (если в системе несколько), независимо от того, какой из обозначений установлен в качестве текущего диска.

Ограничение максимальной длины пути

в выпусках Windows до Windows 10 версии 1607 максимальная длина пути — это максимальный _ путь, который определен как 260 символов. в более поздних версиях Windows для снятия ограничения требуется изменить раздел реестра или использовать средство групповая политика. Дополнительные сведения см. в разделе ограничение максимальной длины пути .

Пространства имен

существует две основные категории соглашений о пространствах имен, используемых в Windows api, которые обычно называются пространствами имен NT и пространствами имен Win32. Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могут существовать другие подсистемы и пространства имен, включая подсистему Win32 и, по расширениям, пространства имен Win32. POSIX — это еще один пример подсистемы в Windows, построенной на основе пространства имен NT. ранние версии Windows также определили несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как порты связи (последовательные и параллельные) и консоль экрана по умолчанию, как часть того, что теперь называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях Windows для обеспечения обратной совместимости.

Пространства имен файлов Win32

Префиксы и соглашения пространств имен Win32 приведены в этом разделе и в следующем разделе с описанием того, как они используются. обратите внимание, что эти примеры предназначены для использования с функциями API Windows и не всегда работают с приложениями оболочки Windows, такими как Windows Explorer. по этой причине существует более широкий диапазон возможных путей, чем обычно доступно в Windows приложениях оболочки, а Windows приложения, использующие его, можно разрабатывать с помощью этих соглашений по пространству имен.

Так как он отключает автоматическое расширение строки пути, \ \ префикс "? \ " также позволяет использовать ".." и "." в именах путей, которые могут быть полезны при попытке выполнить операции с файлом, в противном случае зарезервированные описатели относительных путей в составе полного пути.

Многие, но не все API-интерфейсы файлового ввода/вывода поддерживают " \ \ ? \ "; для проверки каждого API следует обратиться к справочному разделу.

Обратите внимание, что для префикса "?" можно использовать только API-интерфейсы Юникод, что \ \ \ позволяет превысить максимальный _ путь

Пространства имен устройств Win32

Префикс " \ \ . \ " будет обращаться к пространству имен Win32, а не пространству имен файлов Win32. Таким способом доступ к физическим дискам и томам осуществляется напрямую, без использования файловой системы, если API поддерживает этот тип доступа. Вы можете получить доступ ко многим устройствам, отличным от дисков таким образом (например, с помощью функций CreateFile и дефинедосдевице ).

Например, если требуется открыть порт последовательного подключения системы 1, можно использовать "COM1" в вызове функции CreateFile . Это работает потому, что COM1 – COM9 являются частью зарезервированных имен в пространстве имен NT, хотя использование \ \ \ префикса "." также будет работать с этими именами устройств. По сравнению, если установлена плата расширения последовательного порта 100 и вы хотите открыть COM56, вы не сможете открыть ее с помощью "COM56", так как отсутствует предопределенное пространство имен NT для COM56. Его необходимо открыть с помощью " \ \ . \ COM56 ", так как" \ \ . \ "переходит непосредственно в пространство имен устройства, не пытаясь определить предопределенный псевдоним.

Еще один пример использования пространства имен Win32-устройства — использование функции CreateFile с " \ \ . \ Физический диск x"(где X — Допустимое целочисленное значение) или" \ \ . \ CdRom X". Это позволяет получать доступ к этим устройствам напрямую, минуя файловую систему. Это работает потому, что эти имена устройств создаются системой при их перечислении, а некоторые драйверы также создают другие псевдонимы в системе. Например, драйвер устройства, реализующий имя C:, \ имеет собственное пространство имен, которое также может быть файловой системой.

API-интерфейсы, которые проходят через функцию CreateFile , обычно работают с \ \ \ префиксом ".", так как CreateFile — это функция, используемая для открытия как файлов, так и устройств в зависимости от используемых параметров.

при работе с функциями API Windows следует использовать \ \ префикс ". \ " для доступа только к устройствам, а не файлам.

Большинство интерфейсов API не поддерживают " \ \ . \ "; только те, которые предназначены для работы с пространством имен устройства, распознают его. Всегда проверяйте справочный раздел для каждого API, чтобы быть уверенным в этом.

Пространства имен NT

существуют также api-интерфейсы, которые позволяют использовать соглашение о пространстве имен NT, но Windows диспетчер объектов делает это ненужным в большинстве случаев. для иллюстрации полезно просмотреть Windows пространства имен в обозревателе системных объектов с помощью средства Windows Sysinternals винобж . При запуске этого средства отображается пространство имен NT, начинающееся с корневого каталога, или " \ ". Вложенная папка с именем "Global??" Здесь находится пространство имен Win32. Именованные объекты устройств находятся в пространстве имен NT в подкаталоге "Device". Здесь также можно найти Serial0 и Serial1, объекты устройств, представляющие первые два COM-порта, если они есть в вашей системе. Объект устройства, представляющий том, будет выглядеть как "HarddiskVolume1", хотя числовой суффикс может отличаться. Имя "DR0" в подкаталоге "Harddisk0" является примером объекта устройства, представляющего диск, и т. д.

чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символьную ссылку (символьную ссылку) в пространстве имен Win32 "Global??" для соответствующих объектов устройств. Например, COM0 и COM1 в разделе "Global??" подкаталог — это просто символических ссылок Serial0 и Serial1, "C:" — это символьную ссылку до HarddiskVolume1, "отображается physicaldrive0" — символьную ссылку до DR0 и т. д. без символьную ссылку указанное устройство "Xxx" будет недоступно для любого Windows приложения, использующего соглашения о пространстве имен Win32, как описано выше. Однако для этого устройства можно открыть маркер, используя любые интерфейсы API, поддерживающие абсолютный путь к пространству имен NT формата " \ устройство \ xxx".

Все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Разработчики Windows, работающие с API-интерфейсами Windows для ввода-вывода файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.


Доступ к данным можно получить с дисков, устройств и общих сетевых ресурсов с помощью интерфейсов API файлового ввода-вывода. Файлы и каталоги, наряду с пространствами имен, являются частью концепции пути, который представляет собой строковое представление того, где получить данные, независимо от того, на диске они, или устройстве, или сетевом ресурсе.

Имена файлов и каталогов

Все файловые системы придерживаются одних и тех же общих соглашений об именовании для отдельного файла: имя базового файла и необязательное расширение, разделяемые точкой. Однако, у каждой файловой системы, ()NTFS, и cdfs, NTFS или exFAT, FAT и FAT32, могут быть особые и иные правила о формировании отдельных компонентов пути к каталогу или файлу.

Обратите внимание, что каталог - это просто файл со специальным атрибутом, обозначающим его как каталог, но он также должен следовать всем тем же правилам именования, что и обычный файл. Поскольку термин "каталог" просто относится к определенному типу файлов в отношении файловой системы, мы будем использовать общий термин "файл" для охвата понятий каталогов и файлов данных как таковых. Из-за этого, если не указано иное, любые правила именования или использования или примеры для файла также должны применяться к каталогу. Термин путь относится к одному или нескольким каталогам, обратным косым чертам и, возможно, имени тома.

Ограничения количества символов также могут различаться и варьироваться в зависимости от используемой файловой системы и формата префикса имени пути. Это еще больше осложняется поддержкой механизмов обратной совместимости. Например, старая файловая система MS-DOS FAT поддерживает не более 8 символов для имени базового файла и 3 символа для расширения, в общей сложности 12 символов, включая разделитель точку. Файловые системы Windows FAT и NTFS не ограничиваются этим, поскольку они имеют поддержку длинных имен файлов, но они по-прежнему поддерживают предыдущие версии имен файлов.

Правила именования файлов

Следующие основные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы:

Длинным именем файла считается любое имя файла, которое превышает соглашение об именовании стиля MS-DOS (также называемое схема 8.3). При создании длинного имени файла Windows может также создать короткую форму имени 8.3, называемую псевдонимом 8.3 или коротким именем, и сохранить ее на диске. Это 8.3 псевдонимы могут быть отключены по соображениям производительности либо по всей системе, либо для указанного тома, в зависимости от конкретной файловой системы.

Во многих файловых системах имя файла будет содержать тильду ( ~ ) в каждом компоненте имени, которое слишком длинное, чтобы соответствовать правилам именования 8.3.

Не все файловые системы могут следовать соглашение о подстановке тильды, и системы могут быть настроены на отключение 8.3 генерации псевдонимов, даже если они обычно поддерживают его. Поэтому не следует делать предположение, что псевдоним 8.3 уже существует на диске.

  • Чтобы получить 8.3 форму длинного имени файла, используйте функцию GetShortPathName.
  • Чтобы получить версию короткого имени длинного файла, используйте функцию GetLongPathName.
  • Чтобы получить полный путь к файлу, используйте функцию GetFullPathName.

Файлы, использующие длинные имена файлов, могут быть скопированы между разделами файловой системы NTFS и разделами файловой системы Windows FAT без потери информации об имени файла. Это может быть неверно для старых MS-DOS FAT и некоторых типов cdfs (CD-ROM) файловых систем, в зависимости от фактического имени файла. В данном случае, если это возможно, подставляется короткое имя файла.

Заполняем пробелы — расширяем горизонты!

Компьютер работает с информацией, которая может быть текстовой, графической, в аудио или видео формате. Вся информация, обрабатываемая на компьютере, хранится в файлах. Например, файл — это фото, картинка, ролик, документ, презентация, программа и так далее.

типы файлов

Понятие файла является одним из базовых понятий компьютерной грамотности.

Файл – это поименованная область памяти на компьютерном носителе.

Другими словами, файлом называется набор данных на компьютерном носителе (жёсткий диск, флешка, карта памяти в смартфоне, CD и DVD диск и т.п.), у которого есть свое имя (имя файла).

Имя файла

Какие можно использовать символы в имени файла? В именах файлов рекомендуется использовать русские и латинские буквы, цифры, пробелы и знаки препинания.

Однако имя файла не следует начинать с точки, а также использовать в имени квадратные [ ] или фигурные < >скобки. Недопустимыми для имен файлов являются следующие служебные символы / \ | : * ? “

Существует ли максимальная длина имени файла? Длина имени файла не должна превышать 255 символов. На самом деле, обычно хватает 20-25 символов.

Что такое тип файла или формат файла

Как Вы считаете, могут ли быть в одной папке несколько файлов с одинаковым именем PRIMER? Это возможно при условии, что у имени PRIMER будут разные расширения.

Расширение имени файла указывает на его тип (иногда еще говорят — формат файла). Таким образом,

— все эти понятия, по сути, одно и то же.

PRIMER.doc(x) – типом файла является документ Word (или файл в формате Ворда),

PRIMER.bmp – типом файла является рисунок,

PRIMER.avi – типом файла является видеофайл,

PRIMER.wav – типом файла является аудиофайл.

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

Если проводить аналогию с именами людей, то имя файла совпадает с именем человека, а расширение имени файла – с фамилией человека. Соответственно, PRIMER.doc и PRIMER.bmp по этой аналогии то же самое, что Иван Петров и Иван Сидоров.

Файлы с именами PRIMER.doc и VARIANT.docx – это два брата из одного семейства документов (с одинаковым расширением .docx). Аналогично, например, Иван Петров и Федор Петров – братья из одной семьи Петровых.

Тип файла (то есть, расширение имени файла) – это часть имени файла, которая начинается с точки, после которой стоят несколько символов.

Распространены типы (расширения), состоящие из трех букв – .doc, .txt, .bmp, .jpg и.т.д. Регистр не имеет значения, поэтому .doc и .DOC – это одно и то же расширение документа, один тип файла.

Расширение является необязательным атрибутом в имени файла, то есть его может и не быть. В таком случае в конце имени файла точка, как правило, не ставится.

Зачем нужен тип файла

Расширение в имени файла хоть и не обязательно, но все-таки желательно, так как оно указывает операционной системе Windows на тип файла. Проще говоря, тип файла является подсказкой для Windows, с помощью какой программы системе Windows следует этот файл открывать.

Например, расширение .docx указывает, что файл следует открывать с помощью редактора Word, а расширение .cdr – на то, что файл открывается графической программой Corel Draw.

Есть зарезервированные (служебные) имена, которые нельзя использовать в качестве имен файлов, так как они являются именами устройств:

COM1-COM4 – устройства, присоединяемые к последовательным портам 1-4,

AUX – то же, что COM1,

LPT1-LPT4 – устройства, присоединяемые к параллельным портам 1-4 (как правило, принтеры),

CON (consol) – при вводе – клавиатура, при выводе – экран,

Запрещенные символы в именах файлов

Приведу примеры имен файлов, которые являются недопустимыми:

PRN.bmp – здесь PRN зарезервированное имя.

Что такое значок файла или иконка файла

В зависимости от типа файла на экран Windows выводятся различные значки (иконки). Первый пример касается значка текстового редактора:


— значок документа, обрабатываемого редактором Word, и имеющего расширение .doc.

Второй пример относится к архивному файлу. Это тот файл, который был обработан с помощью программы-архиватора WinRAR (сокращенно RAR):


— значок сжатых (архивных) файлов, обрабатываемых архиватором RAR, и имеющих расширение .rar.

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

Проводник Windows (Пуск—Программы—Стандартные—Проводник) по умолчанию имеет режим, когда расширения имен (типы) файлов на экран не выводятся, но при этом выводятся значки (иконки) файлов.

Выбор типа файла при сохранении файла

выбор типа файла при его сохранении

Тесная связь между типом файла и программой, открывающей такой тип

Можно провести аналогию между файлом (точнее, между типом файла) и программой, работающей с таким типом файлов. Файл – замок, а программа, открывающая этот файл, – ключик к замочку. Как известно, замок без ключика не открывается, да и ключик без замка особой ценности не представляет.

Упражнения по компьютерной грамотности:

1) Попробуйте на Рабочем столе создать две папки с именами: PRIMER и primer.

2) Зайдите, например, в редактор Word и попробуйте сохранить документ с именем PRN. Windows разрешил такое имя для нового файла?

Если у Вас есть вопросы по этой теме, напишите их ниже, в комментариях, я отвечу.

Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик.
Уже более 3.000 подписчиков

Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам.

Добавить комментарий Отменить ответ

Комментарии: 43 к “Имена и типы файлов”

Автору респект
Самая толковая статья из всего опубликованного на эту тему.

Спасибо за уроки! Я начинающий. У меня есть проблема, кажется созвучна с уроком. Была программа outlook, в неё заносил знакомых, друзей и т.д. Компьютер стал зависать, внуки переписали всё на флешку, затем вновь записали на новый компьютер ( windows 8.1) OUTLOOK не открывается, нет не телефонов, адресов друзей и т.д. Как открыть?

Хороший совет спасибо!

Спасибо за очень интересный и важный урок Ахат.

Cпасибо большое за совет.Уже создала разные папки, заодно навела порядок-разложила фото так, чтобы их быстро можно было найти. С уважением-Тамара.

Здравствуйте, Надежда!Я скачала фото на ноутбук не с моего телефона, и у скачанных фото номера совпали с ранее скачанными фото с моего телефона (Это я потом поняла).Мои фото исчезли.Можно ли восстановить мои прежние фото и как мне избежать такой ошибки в дальнейшем? С уважением-Тамара.

С первым заданием справилась: вторую папку не создаёт, т.к. имя уже занято; второй вопрос — не откроет, потомучто имя зарезервировано;
третий — имени фпайла допущена ошибка — / знак запрещенный в именя файла

Спасибо! Нужная инфа. Не могли ли вы дать ссылку на читалку на русском языке для расширения fb2.А если ещё и инструкцию к ней…

В моем случае не помогает. Надо счто-то другое.

Откройте в верхнем меню Вид. Поставьте галочку напротив Плитка.

Да все так и и есть. Только видеофайлы показываются в иде значков,а я хотел, чтобы как раньше в виде кадров из них. Может какую прогу надо? А менять значки крупные на мелкие смысла нет.

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

Надежда! У меня W-7.Раньше все видеофалы имели значки в виде начальных кадров содержимого файла,т.е. типа как-будто видеопленка и кадр из этого файла. Что-то я кликнул не то и вместо этого отбражения файла стало отбражение файла в виде значка программы, открывающей файл. А как мне вернуть предыдущее отображение файла? Может подскажете. Спасибо!

Надежда, у меня 2 вопроса. 1)В каком формате(с каким расширением или надо знать сколько пикселей — я тут запуталась в правильности вопроса)сохранять картинки и фотографии,чтобы они занимали немного места и их можно было бы поставить на десктоп,в виде обоев. 2)Что это за файлы:WRL 1491.tmp; desktop.ini;thumbs.db? Можно ли их удалять, переносить, и почему они иногда не удаляются, даже, если сам файл уже закрыт? При копировании они переносятся и на флешки и на СD.

Нина, 1) Файлы с расширением .jpg
2) Это системные файлы, которые создает Windows или прикладные программы. В том числе антивирусные программы создают подобные файлы. Их лучше не трогать. При копировании (не при архивации, а именно при копировании) эти файлы можно не копировать. При архивации нужно копировать все файлы. Конечно, раздражает, когда эти файлы находятся прямо на рабочем столе. Но это — дело привычки.

Надежда, благодарю Вас за исчерпывающую информацию по моим вопросам. С вашим блогом надо дружить постоянно. Это только начало, а еще сколько надо выучить! Век живи-век учись!

Спасибо за урок, хоть я основное по теме знаю, но добывать информацию мне пришлось методом многих проб и ошибок долгое время. Ваши уроки ускоряют работу на компьютере. Я рада, что получаю компьютерную грамотность с вами, Надежда! Правда, с паролями у меня постоянная проблема,так и не восстановила пароль в Яндексе. Есть и вопрос: есть ли какие правила организации файлов в компьютере, чтобы все можно было разложить по полочкам и найти быстро. Сколько лет храниться инфо в компьютерах и кто ответственный за чистку от хлама в ПК и на диске сервера компании: пользователь или компьютерщик (в корпоративных компьютерах)?. Как работает компьютер, если в нем хранится много лишнего?

Читайте также: