Имя файла. Файл: имена файлов. Полное, короткое, длинное, корректное и некорректное имя файла, его состав, шаблон и маска

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

Понятия «путь» и «имя файла»

Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:\папка\подпапка\
файл.расширение

Зарезервированные символы и имена

Большинство часто употребляемых символов разрешается использовать в имени файла. Имя файла не должно содержать „< ” (знак меньше), „> ” (знак больше), „: ” (двоеточие), „«” (двойные кавычки), „/” (слеш), „\” (обратный слеш), „|” (вертикальная черта), „?” (вопросительный знак), „*” (звездочка), а также не может заканчиваться точкой или пробелом. Файлы также нельзя называть зарезервированными именами устройств: CON , PRN , AUX , NUL , COM1 , COM2 , COM3 , COM4 , COM5 , COM6 , COM7 , COM8 , COM9 , LPT1 , LPT2 , LPT3 , LPT4 , LPT5 , LPT6 , LPT7 , LPT8 , и LPT9 .

Ограничения на длины имен файлов и путей

Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH . На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ , который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:\ ). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.

На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.

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

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

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

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

Имена файлов в разных системах

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

Windows

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

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

Расширение имени файла

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

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

См. также

Литература

  • Робачевский А. Н., Немнюгин С. А., Стесик О. Л. Имен файлов / Базовая файловая система System V / Глава 4. Файловая система // Операционная система UNIX. - 2-е изд. - СПб. : БХВ-Петербург, 2008. - С. 338-339. - 656 с. - ISBN 978-5-94157-538-1

Wikimedia Foundation . 2010 .

  • Ясака-дзиндзя
  • Дубовик

Смотреть что такое "Имя файла" в других словарях:

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

    Расширение имени файла - (англ. filename extension, часто говорят просто расширение файла или расширение) последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с… … Википедия

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

    Формат X файла - формат файла для хранения 3D объектов, созданный компанией Microsoft. Этот формат хранит информацию о геометрии 3D объекта (координаты вершин и координаты нормалей), текстурные координаты, описание материалов, пути и названия к текстурам, которые … Википедия

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

    атрибуты файла - Идентифицируемые атрибуты файла (имя и др.) [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN file attributes … Справочник технического переводчика

Информация во внешней памяти (т.е. кроме ОЗУ и ПЗУ) хранится в файлах.

Файл – это поименованная определенным образом часть памяти. Это объем внешней памяти, предназначенный для хранения однотипной памяти.

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

Сейчас почти все ограничения сняты.

После имени файла идет расширение (необходимо для определения типа, формата файла). Точка входит в него. Все вместе (именование + точка + расширение) называется полным именем файла.

Расширение позволяет определить, является ли этот файл исполняемым (программой) или статичной (-стической?) информацией (текстом, музыкой, картинкой).

Исполняемые типы:

*.exe (execute) – выполняемые программы для DOS и Windows.

*.COM (compact) – простой тип исполняемого файла для DOS, но можно выполнять и на Windows.

*.bat (batch file) - текстовый файл в MS-DOS, или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором.

Спецификация – путь к полному имени файла.

Получается исходя из иерархической структуры (папок, директорий).

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

Жесткий диск может быть разбит на множество логических дисков (С:, D:, E: и т.д.).

С:\имя папки 1-го уровня\2-го\3-го\...\...\......\*.*

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

Файловая структура памяти.

Вопрос 1. Файловая система. Организация работы с файлами и каталогами.

Хранение информации во внешней памяти.

ОС обеспечивает хранение информации во внешней памяти (на дискетах, винчестере и лазерных дисках) в виде файлов.

Файл (file) – поименованная область памяти, в которой хранится различная информация: текстовая, графическая, звуковая, видеоизображение - данные и программы.

Типы файлов

1. Текстовый

2. Звуковой

3. Графический

4. Файлы видео

5. Числовой

6. Программный

Имя файла

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

Собственное имя [.Расширение]

Например , документ 1.doc.

Собственное имя может содержать:

1. От 1 до 8 символов (для MS-DOS)

2. От 1 до 255 символов (для W-95).

В состав собственного имени файла могут входить:

1. Строчные и прописные латинские буквы (для MS-DOS), а также русские буквы (для Windows).

3. Некоторые служебные символы:

В имени файла нельзя использовать символы: / \ * ? : | “ < >

Расширение (необязательно) - указывает на тип файла, который определяется информацией, в нём хранящейся. Начинается с точки, содержит от 1 до 3-х символов.

РАСШИРЕНИЯ

1. Текстовые файлы: .txt, .doc и др.

2. Графические файлы: .bmp, .pcx, .gif и др.

3. Звуковые файлы: .wav, .mid, .snd и др.

4. Файлы видео: .avi, .gtw и др.

5. Числовые файлы: .bin

6. Программные файлы: .bat, .com, .exe.

Для того чтобы организовать быстрый поиск нужного файла на диске, файлы объединяются в группы – папки (каталоги). Каждая папка имеет уникальное имя. Требования к именам папок те же, что и к именам файлов. Расширение в имени каталога (папки) не используется. Файлы и папки образуют “дерево” папок, в котором каждый файл и папка имеет своё место (уровень). Для того, чтобы определить точное местоположение файла, следут знать имя диска, на котором он находится (A:, C: и т.д. ), и последовательность папок, которые надо открыть на пути к той папке, в которой находится файл.

Дерево папок.

Главная Папки Папки Папки Папки ФАЙЛЫ

Папка I уровня II уровня III уровня YI уровня

каталогов , поэтому " methody ", " Methody " и " METHODY " будут тремя разными именами.

Есть несколько символов, допустимых в именах файлов и каталогов , которые нужно использовать с осторожностью. Это так называемые спецсимволы " * ", " \ ", " & ", " < ", " > ", " ; ", " ( ", " ) ", " | ", а также символы пробела и табуляции. Дело в том, что эти символы имеют особое значение для любой командной оболочки , поэтому нужно будет специально позаботиться о том, чтобы командная оболочка воспринимала эти символы как часть имени файла или каталога . О специальном значении символа " - " для команд Linux уже шла речь в лекции 2, там же обсуждалось, как изменить его интерпретацию 1Символ " - " означает, что следующее слово – ключ, а пробелы и табуляции разделяют параметры в командной строке. . О том, зачем командной оболочке нужны спецсимволы , речь пойдет в лекции 8.

Кодировки и русские имена

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

Дело в том, что с давних пор каждый символ (буква) каждого языка традиционно представлялся в виде одного байта. Такое представление накладывает очень жесткие ограничения на количество букв в алфавите: их может быть не больше 256, а за вычетом управляющих символов, цифр, знаков препинания и прочего - и того меньше. Обширные алфавиты (например, иероглифические японский и китайский) пришлось заменять упрощенным их представлением. Вдобавок, первые 128 символов из этих 256 лучше всегда оставлять неизменными, соответствующими стандарту ASCII, включающему латиницу, цифры, знаки препинания и наиболее популярные символы из тех, что встречаются на клавиатуре печатной машинки. Интерпретация остальных 128 символов зависит от того, какая кодировка установлена в системе. Например, в русской кодировке KOI8-R 228-й символ такой таблицы соответствует букве "Д", а в западноевропейской кодировке ISO-8859-1 этот же символ соответствует букве "a" с двумя точками над ней (как у нашей буквы "ё").

Имена файлов , записанные на диск в одной кодировке , выглядят нелепо, если при просмотре каталога была установлена другая. Более того, многие кодировки заполняют диапазон символов с номерами от 128 до 255 не полностью , поэтому соответствующего символа может вообще не быть! Это означает, что ввести такое искаженное имя файла с клавиатуры (например, для того, чтобы его переименовать) напрямую не удастся: придется пускаться на разные ухищрения, описанные в лекции 8. Наконец, многие языки, в том числе и русский, исторически имеют несколько кодировок 2Мефодий и сам несколько раз получал электронные письма, начинающиеся словами "бНОПНЯ" или "бМХЛЮМХЕ" – результат представления текста, имеющего кодировку CP-1251, в кодировке KOI8-R. . К сожалению, в настоящее время нет стандартного способа указывать кодировку прямо в имени файла , поэтому в рамках одной файловой системы стоит придерживаться единой кодировки при именовании файлов .

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

Это не означает, что, называя файлы , не следует использовать языки, отличные от английского. Пока точно известно, в какой кодировке задано имя файла - проблем не возникнет. Однако Мефодий решил, что гарантий в передаче названного по-русски файла на какую-нибудь другую систему можно добиться, только передавая вместе с ним настройку кодировки , даже две: в своей системе и в системе адресата (неизвестно какой!). Другой, гораздо более легкий способ передать файл - использовать в его названии только символы ASCII.

Расширения

Многим пользователям знакомо понятие расширение - часть имени файла после точки, обычно ограничивающаяся несколькими символами и указывающая на тип содержащихся в файле данных. В файловой системе Linux нет никаких предписаний по поводу расширения: в имени файла может быть любое количество точек (в том числе ни одной), а после последней точки может стоять любое количество символов 3В отличие от старых файловых систем, организованных по принципу "8+3" (DOS, ISO9660 и т. п.), где в имени файла допустимо не более одной точки и расширение может быть не длиннее 3-х символов. Это ограничение определило вид многих известных сегодня расширений файлов, например, " txt " для текстового файла. . Хотя расширения не обязательны и не навязываются технологией в Linux, они широко используются: расширение позволяет человеку или программе, не открывая файл , только по его имени определить, какого типа данные в нем содержатся. Однако нужно учитывать, что расширение - это только набор соглашений о наименовании файлов разных типов. Строго говоря, данные в файле могут не соответствовать заявленному расширению по той или иной причине, поэтому всецело полагаться на расширение нельзя.

Определить тип содержимого файла можно и на основании самих данных. Многие форматы предусматривают указание в начале файла , как следует интерпретировать дальнейшую информацию: как программу, исходные данные для текстового редактора, страницу HTML, звуковой файл , изображение или что-то другое. В распоряжении пользователя Linux всегда есть утилита file , которая предназначена именно для определения типа содержащихся в файле данных:

$ file -- -filename-with- -filename-with-: ASCII English text $ file /home/methody /home/methody: directory Пример 3.1. Определение типа данных в файле

Мефодий, забыв, что содержится в файле " -filename-with- ", который он создал в примере, представленном в предыдущей лекции, хотел было уже посмотреть его содержимое при помощи команды cat . Однако его остановил Гуревич, который посоветовал сначала выяснить, что за данные содержатся в этом файле . Не исключено, что это двоичный файл исполняемой программы, а в таком файле могут встречаться последовательности, которые случайно совпадут с управляющими последовательностями терминала. Поведение терминала после этого может стать непредсказуемым, и неопытный пользователь вряд ли сможет с ним справиться. Мефодий получил вполне точный ответ от утилиты file : в его файле - английский текст в кодировке ASCII. file умеет различать очень многие типы данных и почти наверняка выдаст правильную информацию. Эта утилита никогда не доверяет расширению файла (если оно присутствует) и анализирует сами данные. file различает не только разные данные, но и разные типы файлов , в частности, сообщит, если исследуемый файл является не обычным файлом , а, например, каталогом .

Дерево каталогов

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

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

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

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

По способам именования файлов различают «короткое» и «длинное» имя. До появ­ления операционной системы Windows 95 общепринятым способом именования файлов на компьютерах IBM PC было соглашение 8.3. Согласно этому соглашению, принятому в MS-DOS, имя файла состоит из двух частей: собственно имени и расширения имени. На имя файла отводится 8 символов, а на его расширение - 3 символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно-цифровые символы латинского алфавита.

Соглашение 8.3 не является стандартом, и потому в ряде случаев отклонения от правильной формы записи допускаются как операционной системой, так и ее при­ложениями. Так, например, в большинстве случаев система «не возражает» против использования некоторых специальных символов (восклицательный знак, символ подчеркивания, дефис, тильда и т.п.), а некоторые версии MS-DOS даже допускают использование в именах файлов символов русского и других алфавитов. Сегодня имена файлов, записанные в соответствии с соглашением 8.3, считаются «короткими».

Основным недостатком «коротких» имен является их низкая содержательность. Далеко не всегда удается выразить несколькими символами характеристику файла, поэтому с появлением операционной системы Windows 95 было введено понятие «длинного» имени. Такое имя может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов.

«Длинное» имя может содержать любые символы, кроме девяти специальных: \/:*?«<>|. В имени разрешается использовать пробелы и несколько точек. Расширением имени счита­ются все символы, идущие после последней точки, их может быть и больше трех.

Введение длинных имен потребовало внесения изменений в организацию файло­вых систем на основе FAT. Появился термин VFAТ, обозначающий файловую сис­тему на основе FAT с поддержкой длинных имен. Файловая система NTFS поддер­живает длинные имена с самого начала.

Наряду с «длинным» именем операционные системы семейства Windows создают также и короткое имя файла - оно необходимо для возможности работы с данным файлом на рабочих местах с устаревшими операционными системами.

Использование «длинных» имен файлов в операционных системах семейства Windows имеет ряд особенностей.

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


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

3. Кроме ограничения на длину имени файла (256 символов) существует гораздо более жесткое ограничение на длину полного имени файла (в него входит путь доступа к файлу, начиная от вершины иерархической структуры). Полное имя не может быть длиннее 260 символов.

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

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

Расширение имени файла – это последовательность символов, предназначенных для идентификации типа файла. Расширение отделяется точкой от имени файла и обычно состоит из трех, реже – четырех символов.В ранних операционных системах расширения файлов, обозначающие их тип, использовались мало. По существу, операционные системы MS-DOS ана­лизировали только расширения.ВАТ (пакетные файлы с командами MS-DOS), .EXE, .COM (исполнимые файлы программ) и.SYS (системные файлы конфигурации). В современных операционных системах любое расширение имени файла может нести информацию для операционной системы.

Обычно расширение имени является сокращением английских слов, описывающих тип файла: DOC-файлы, ТХТ-файлы.

Примеры расширений имени файлов:

DOC (англ, document) -документ с форматированием текста, в ча­стности созданные программой WordPad или Word;

ТХТ - файлы простого текста (в так называемой кодировке ASCII), в которых шрифт и абзацы имеют одинаковый вид, не форма­тируются, нет рисунков; в частности, это файлы, созданные програм­мой Блокнот;

ЕХЕ - файл программы (от англ, executable -«исполняемый»). Операционная система при попытке удаления файла с рас­ширением ехе предупреждает, что файл является программой, и без него не все будет работать;

МРЗ, WAV - звуковые файлы;

AVI - аудио- и видеофайлы;

TTF, FON - файлы шрифта;

ZIP, RAR - файлы сжатого архива;

1NI - файл настройки (инициализации) конкретной программы;

HTM, HTML- файлы веб-странии Интернета;

GIF, JPG, BMP, TIFF - графические файлы с рисунками;

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

Операционная система хранит ассоциации расширений файлов в списке, который пополняется после установки новой программы, работающей с файлами конкретного типа. Например, расширение.doc означает: открывать документ с помощью программы Word или, если программа Word не установлена, с помощью программы WordPad.

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