0

Имен файлов допустимо в ос windows

И́мя фа́йла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС), обычно называемом каталогом, директорией или папкой. Имена файлов строятся по правилам, принятым в той или иной файловой и операционной системах (ОС). Многие системы позволяют назначать имена как обычным файлам, так и каталогам и специальным объектам (символическим ссылкам, блочным устройствам и т. п.).

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

  • протокол или способ доступа ( http , ftp , file и т. п.);
  • имя или адрес компьютера, узла сети ( wikipedia.org , 207.142.131.206 , \MYCOMPUTER , SYS: и т. п.);
  • устройство хранения, диск ( C: , / , SYSLIB и т. п.);
  • путь к каталогу ( /usr/bin , TEMP , [USR.LIB.SRC] и т. п.);
  • собственно имя файла, которое может содержать его расширение ( .txt , .exe , .COM и т. п.);
  • версия или номер ревизии ( perl6 , ping6 и т. п.) [уточнить] .

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

Имя файла обычно состоит из двух частей, разделенных точкой:

  • Название (до точки, часто также называют именем);
  • Расширение.

Содержание

Имена файлов в разных системах [ править | править код ]

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

Windows [ править | править код ]

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

Полное имя файла (включая расширение) в Windows может содержать до 260 символов, данное значение определено константой MAX_PATH в Windows API; например, полное имя файла максимально допустимой длины на диске C будет таким: «C: NULL» (например, «C: NULL»). Однако, юникодовые версии некоторых функций позволяют использовать полные имена файлов длиной до 32767 символов, такие имена начинаются с префикса «\?». Пример:

При использовании префикса «\?» необходимо указывать абсолютный путь к файлу, относительные пути не допускаются. При использовании относительных путей максимальная длина полного имени файла определена константой MAX_PATH (260 символов).

UNIX [ править | править код ]

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

Пути, начинающиеся не с косой черты, считаются относительными и отсчитываются относительно рабочего каталога. Пример:

../mc при нахождении в каталоге /etc/apache2 эквивалентно /etc/mc .

Особое значение у путей, которые начинаются с тильды (

). Тильда обозначает домашний каталог текущего или указанного пользователя. Пример:

Читайте также:  Глубина пропила болгарки 150

/Desktop для пользователя user во многих системах и случаях эквивалентно /home/user/Desktop [1]

admin/passwords для любого пользователя равносильно /home/admin/passwords [1]

root/test для любого пользователя — то же самое, что и /root/test [1] , потому что суперпользователь (root) имеет особый домашний каталог.

  1. 123 Для каталога каждого пользователя в современных ОС может быть настроен произвольный путь.

Запрещённые символы [ править | править код ]

Многие операционные системы запрещают использование некоторых служебных символов.

Запрещённые символы Windows (в различных версиях):

  • — разделитель подкаталогов
  • / — разделитель ключей командного интерпретатора
  • : — отделяет букву диска или имя альтернативного потока данных
  • * — заменяющий символ (маска «любое количество любых символов»)
  • ? — заменяющий символ (маска «один любой символ»)
  • " — используется для указания путей, содержащих пробелы
  • — перенаправление ввода
  • > — перенаправление вывода
  • | — обозначает конвейер
  • + — (в различных версиях) конкатенация

Частично запрещённые символы Windows:

  • пробел — не допускается в конце имени файла;
  • . — не допускается в конце имени файла кроме имён каталогов, состоящих из точек и доступа с префиксом «\?».

Символы, вызывающие проблемы в широко распространённых компонентах:

  • % — в Windows используется для подстановки переменных окружения в интерпретаторе команд, вызывает проблемы при открытии файла через стандартный диалог открытия файла;
  • ! — в Windows используется для подстановки переменных окружения в интерпретаторе команд, в bash используется для доступа к истории [1] ;
  • @ — в интерпретаторах команд вызывает срабатывание функций, предназначенных для почты.

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

Расширение имени файла [ править | править код ]

Расширение имени файла (англ. filename extension , часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. Расширение отделяется от основной части имени файла последней точкой. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».

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

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

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

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

Читайте также:  Где самый дешевый интернет в мире

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

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

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

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

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

  • Используйте точку, чтобы отделить имя базового файла от расширения в имени каталога или файла.
  • Используйте обратную косую черту () для разделения компонентов пути. Обратная косая черта отделяет имя файла от пути к нему, и одно имя каталога от другого имени каталога в пути. Нельзя использовать обратную косую черту в имени файла или каталога, потому что это зарезервированный символ, который разделяет имена на составляющие.
  • Не думайте о чувствительности к регистру. Например, можно считать имена OSCAR, Oscar и oscar одинаковыми, хотя некоторые файловые системы (например, файловая система, совместимая с POSIX) могут рассматривать их как разные. Обратите внимание, что NTFS поддерживает семантику POSIX для учета регистра, но это не поведение по умолчанию.
  • Обозначения томов (буквы дисков) не учитывают регистр символов. Например," D: "и" d: " – это одно и то же.
  • Используйте любой символ на текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128-255), за исключением следующих:
  • Следующие зарезервированные символы:
  • (больше)
  • : (двоеточие)
  • " (двойная кавычка)
  • / (косая черта)
  • (обратная косая черта)
  • | (вертикальный стержень или символ трубы)
  • ? (вопросительный знак)
  • * (звездочка)
  • Целое нулевое значение, иногда называемое символом ASCII NUL.
  • Символы, целочисленные представления которых находятся в диапазоне от 1 до 31, за исключением альтернативных потоков данных, где эти символы разрешены.
  • Любой другой символ, который целевая файловая система не разрешает использовать.
  • Используйте точку как компонент каталога в пути для представления текущего каталога, например". emt.txt.".
  • Используйте две последовательных точки (..) как компонент каталога в пути для представления родительского каталога текущего каталога, например".. emp.txt."
  • Не используйте следующие зарезервированные имена для имени файла: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT. Также избегайте этих имен, за которыми следует расширение; например, NUL.txt не рекомендуется.
  • Не завершайте имя файла или каталога пробелом или точкой. Хотя файловая система может поддерживать такие названия, оболочка и пользовательский интерфейс Windows не будут работать с этим. Однако допустимо указывать точку в качестве первого символа имени. Например, ".temp".
  • Читайте также:  Джетта или королла 2017 что лучше

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

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

    Во многих файловых системах имя файла будет содержать тильду (

    ) в каждом компоненте имени, которое слишком длинное, чтобы соответствовать правилам именования 8.3.

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

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

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

    В новых файловых системах, таких как NTFS, exFAT, UDFS и FAT32, Windows сохраняет длинные имена файлов на диске в Юникоде, что означает, что исходное длинное имя файла всегда сохраняется. Это верно, даже если длинное имя файла содержит расширенные символы, независимо от кодовой страницы, которая активна во время операции чтения или записи диска.

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

    статьи IT, Windows, файлы, каталоги, правила

    Символы, допустимые в коротких именах файлов, каталогов и расширениях:
    буквы, цифры, символы:

    Символы, недопустимые в коротких именах файлов, каталогов и расширениях:
    +=[]:;«,./?’пробел’

    Символы, недопустимые в длинных именах файлов, каталогов и расширениях:
    /:*?«<>|

    admin

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

    Ваш e-mail не будет опубликован. Обязательные поля помечены *