Какое полное имя файла является правильным. Работа с носителями информации. Файловая система компьютера: папки

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

По способам именования файлов различают «короткое» и «длинное» имя. До появ­ления операционной системы 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-приложения, обычно, пред­лагают выбрать только основную часть имени и указать тип файла, а соответ­ствующее расширение имени приписывают автоматически.

каталогов , поэтому " 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Здесь имеется в виду дерево в строгом математическом смысле: ориентированный граф без циклов с одной корневой вершиной, в котором в каждую вершину входит ровно одно ребро. , "корнем" которого является корневой каталог , а в вершинах расположены все остальные

» [Экзамен по информатике][Билет №9]

Файловая система. Папки и файлы. Имя, тип, путь доступа к файлу.

Файл.

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

Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

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

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

В операционной системе Windows имя файла может иметь до 255 символов, причем допускается использование русского алфавита, например:
Единицы измерения информации.doc

Файловая система.

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

Файловая система - это система хранения файлов и организации каталогов.

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

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

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

Путь к файлу.

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

Например, путь к файлам на рисунке можно записать так:

C:\Музыка\Пикник\

Полное имя файла.

Путь к файлу вместе с именем файла называют полным именем файла.

Пример полного имени файлов:

C:\basic\prog123.bas

C:\Музыка\Пикник\Иероглиф.mp3

Операции над файлами.

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

Графическое представление файловой системы.

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

В Windows на вершине иерархии папок находится папка Рабочий стол. (Следующий уровень представлен папками Мой компьютер, Корзина и Сетевое окружение (если компьютер подключен к локальной сети).

Файловая система

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

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

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

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

Формат записи адреса: Имя диска:\Папка1\Папка2\ .

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

Запись файлов на диск производится частями. Наименьшее место, которое могут занимать на диске записываемые данные, составляет один кластер – это минимальный адресуемый элемент диска. Кластер может состоять из одного или нескольких секторов. Объем сектора составляет 512 байт.

Система организации хранения файлов называется файловой системой . Windows поддерживает три файловые системы: FAT16 (или просто FAT), FAT32 и NTFS. Выбор файловой системы осуществляется при установке Windows и форматировании диска.

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

В загрузочном секторе (Boot Record) хранятся данные о формате диска и его файловой системе.

В корневом каталоге содержится перечень файлов, находящихся на диске. Запись о файле содержит имя файла, адрес первого кластера, объем файла, а также время и дату его создания.

Таблица размещения файлов (File Allocation Table, сокращенно FAT) содержит описание порядка расположения всех файлов в кластерах данного диска, а также информацию о дефектных участках диска. Количество ячеек FAT-таблицы соответствует количеству кластеров на диске, а значениями ячеек являются цепочки размещения файлов, т.е. последовательность адресов кластеров, в которых хранятся файлы. Порядковый номер ячейки FAT-таблицы соответствует адресу кластера.

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

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


Файлы программ называются исполняемыми файлами. Они имеют расширение com или exe .

В имени файла запрещено использование следующих служебных символов: \ / : * ? “ < > |.

Имеются некоторые отличия в задании имен файлов в ОС MS DOS и Windows. В MS DOS длина имени не должна превышать 8 символов, в Windows – 256 символов. В MS DOS нельзя использовать символы русского алфавита и пробелы, а в Windows можно.

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

В некоторых программах используется знак вертикальной черточки (|), обозначающий исключение некоторых шаблонов. Например, *.*|*.bak означает все файлы, кроме файлов с расширением bak.

Файловые системы ext2 и ext3 допускают наличие в именах файлов практически любых символов, кроме разделителя директорий (/). Однако я не советую использовать имена, содержащие русские буквы, знаки пунктуации (кроме точки), пробелы, псевдографику, экзотические знаки вроде символа перехода на новую строку. Не стоит также начинать имена файлов с дефиса (-). Тут дело в том, что многие программы, работающие с файлами, принимают в командной строке ключи (опции), начинающиеся с дефиса. Например, вы хотите пролистать каталог по имени -lR командой ls -lR . Но -lR будет воспринято программой ls не как имя каталога, а как ключи -l (выдать подробный листинг) и -R (рекурсивно), и в результате вы получите листинг текущего каталога (так как каталог не указан, программа ls по умолчанию работает с текущим). Во всех остальных случаях дефис в именах файлов вполне допустим и часто используется. Советуем ограничиться следующим набором символов - латинские буквы (большие и маленькие), цифры, знак подчёркивания, дефис (но не в начале), точка.

Термин «расширение» сохранился со времён, когда операционная система Microsoft DOS была самой популярной для персональных компьютеров типа IBM PC. Файловая система DOS позволяла в именах файлов не более 11 знаков; первые не более 8 из них считались основным именем (base name), а не более 3 последних - расширением (extension ) имени. Для отделения основной части имени от расширения использовалась точка (кроме специальных имён - . и..). Сама точка не считалась частью имени. Имена WORK и WORK. означали одно и то же. Вот пример имени файла наиболее длинного имени: AUTOEXEC.BAT . Многие программы для DOS и Windows придают расширениям чересчур большое значение - например, Microsoft Word будет упорно пытаться открыть файл с расширением.DOC как документ в его родном формате, даже если в файле содержится простой текст. В файловых системах Linux точка - такая же часть имени, что и любой другой символ. Теперь уже WORK и WORK. станут ссылаться на разные файлы. Если угодно, можно по-прежнему называть часть имени файла, следующую за точкой, расширением, хотя точек в имени может быть и несколько. Например, файловому архиву в формате tar , сжатому компрессором lzma , часто дают суффикс.tar.lzma . Большинство программ для Linux не связывают расширение имени файла с его содержимым, либо связывают, но позволяют явно указать тип содержимого файла с помощью опций. Тот же Perl будет запускать свои программы по имени, независимо от того, какое расширение использовано - .pl , .plx или.cgi , и есть ли оно вообще.

Некоторые программы вроде текстовых редакторов, работающие с файлами, и «на месте» изменяющие их содержимое, способны оставлять резервные копии. Имена таких копий обычно получаются из исходных имён добавлением знака ~ в конце, например, linux.html~ .