Понятие файла каталога правила задания имен файлов и каталогов

Понятие файла каталога правила задания имен файлов и каталогов

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

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

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

Примеры имен файлов: command.com, winnt.exe, start.bat, readme.txt, Доклад_по_информатике.doc

Файл также имеет размер, указываемый в байтах. При создании файла регистрируется его дата и время создания. А также учитываются атрибуты, назначенные файлу. Атрибут «только чтение» — запрещает изменять содержимое файла, атрибут «архивный» — служит для определения некоторыми программами, следует ли архивировать этот файл, атрибут «системный» — указывает, что файл принадлежит операционной системе и необходим для ее нормальной работы. Такой файл ни в коем случае нельзя удалять, файл с атрибутом «скрытый» — нельзя ни увидеть, ни использовать, если неизвестно его имя. Некоторые операционные системы добавляют свои атрибуты, например, кому разрешено читать или редактировать файл, хранится ли файл на диске в сжатом либо зашифрованном виде и т. д.

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

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

Имя диска, имена каталогов и имя файла отделяются друг от друга косой чертой.

shkolo.ru

Понятие файла каталога правила задания имен файлов и каталогов

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

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

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

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

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

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

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

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

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

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

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

Например, в корневом каталоге могут находиться два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1.2) и один файл (Файл_1.1) — рис. 4.21.

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

Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А:, В: — гибкие диски, С:, D:, Е: и так далее — жесткие и лазерные диски).

Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES, TEXT), а в каталоге GAMES один каталог 2-го уровня (CHESS). При этом в каталоге TEXT имеется файл proba.txt, а в каталоге CHESS — файл chess.exe (рис. 4.22).

Путь к файлу. Как найти имеющиеся файлы (chess.exe, proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель «\» логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых содержится нужный файл. Пути к вышеперечисленным файлам можно записать следующим образом:

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

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

Представление файловой системы с помощью графического интерфейса. Иерархическая файловая система MS-DOS, содержащая каталоги и файлы, представлена в операционной системе Windows с помощью графического интерфейса в форме иерархической системы папок и документов. Папка в Windows является аналогом каталога MS-DOS

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

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

Если мы хотим ознакомиться с ресурсами компьютера, необходимо открыть папку Мой компьютер.

1. В окне Мой компьютер находятся значки имеющихся в компьютере дисков. Активизация (щелчок) значка любого диска выводит в левой части окна информацию о его емкости, занятой и свободной частях.

2. Выбрав один из пунктов меню Вид (Крупные значки, Мелкие значки, Список, Таблица), можно настроить форму представления содержимого папки.

Папка Сетевое окружение содержит папки всех компьютеров, подключенных в данный момент к локальной сети.

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

3. Для окончательного удаления файлов необходимо ввести команду [Файл-Очистить корзину].

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

  • копирование (копия файла помещается в другой каталог);
  • перемещение (сам файл перемещается в другой каталог);
  • удаление (запись о файле удаляется из каталога);
  • переименование (изменяется имя файла).
  • Графический интерфейс Windows позволяет проводить операции над файлами с помощью мыши с использованием метода Drag&Drop (перетащи и оставь). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры: Norton Commander, Windows Commander, Проводник и др.

    В некоторых случаях возникает необходимость работать с интерфейсом командной строки. В Windows предусмотрен режим работы с интерфейсом командной строки MS-DOS.

    1. Ввести команду [Программы-Сеанс MS-DOS]. Появится окно приложения Сеанс MS-DOS.

    В ответ на приглашение системы можно вводить команды MS-DOS с клавиатуры, в том числе:

    • команды работы с файлами (copy, del, rename и др.);
    • команды работы с каталогами (dir, mkdir, chdir и др.);
    • команды работы с дисками (format, defrag и др.).
    • 2. Существуют десятки команд MS-DOS, при этом каждая команда имеет свой формат и параметры, запомнить которые достаточно трудно. Для того чтобы получить справочную информацию по команде, необходимо после имени команды ввести ключ /?.

      Например, для получения справки по команде format в ответ на приглашение системы необходимо ввести: С:\WINDOWS>format/?

      1. Какой элемент является вершиной иерархии в файловой системе MS-DOS? В графическом интерфейсе Windows?

      4.11. Осуществить копирование файлов с использованием интерфейса командной строки и файлового менеджера.

      4.12. Ознакомиться с объемом дисков вашего компьютера, а также объемами занятого и свободного пространства.

      4.13. Ознакомиться с форматом команды dir. Просмотреть корневой каталог диска С .

      www.5byte.ru

      Файловая система организации данных в ЭВМ

      Файл, каталог (папка) и правила задания их имен


      Основные команды MS DOS

      Команды работы с файлами

      COPY_CON — создание текстового файла DEL — удаление файла EDIT — редактирование файла

      Команды работы с каталогами

      MD — создание каталога RD — удаление каталога :\ — имя корневого каталога :\ А:\ — смена диска CD — смена каталога на уровень ниже CD .. — смена каталога на уровень выше CD .. \ .. — смена каталога на два уровня выше CD \ — переход в корневой каталог

      Команды работы с файлами и каталогами

      COPY — копирование каталога, файла RENAME — переименование каталога, файла MOVE — перенос, перемещение каталога, файла

      Команды работы с экраном

      TREE — вывод на экран дерева каталогов и файлов TYPE — просмотр файла DIR — просмотр содержимого каталога MSD — вывод на экран параметров всех компонентов ПЭВМ VER — вывод на экран информации о версии MS DOS CLS — очистка экрана DATE — вывод информации о текущей дате, ввод новой даты TIME — вывод информации о текущем времени, ввод нового времени PRINT — вывод на печать содержимого файла EXIT — завершение сеанса работы MS DOS

      Интересный факт

      Первой разработкой MS DOS можно считать операционную систему для персональных ЭВМ, созданную фирмой Seattle Computer Products в 1980 г. В 1980 г. система, первоначально названная QDOS, была модифицирована и переименована в 86-DOS. Право на использование операционной системы 86-DOS было куплено корпорацией MICROSOFT, заключившей контракт с фирмой IBM, обязуясь разработать операционную систему для новой модели персональных компьютеров, выпускаемых фирмой. Когда в конце 1981 г. новый компьютер IBM PC приобрел широкую популярность, его операционная система представляла собой модифицированную версию системы 86-DOS, названную PC-DOS, версии 1.0.
      Вскоре после выпуска IBM-PC на рынке стали появляться ПК «схожие с PC». Операционная система этих компьютеров называлась MS-DOS, версия 1.0. Корпорация MICROSOFT предоставила в распоряжение фирм, производящих эти машины, точную копию операционной системы PC-DOS, широко теперь применяемую MS-DOS.

      tpt.tom.ru

      Файловая система 1.Файлы. Имена файлов 2.Соглашение 8.3. 3.Длинные имена файлов 4.Каталоги 5.Файловые операции 1 Разработала: учитель информатики СОШ 2. — презентация

      Презентация была опубликована 6 лет назад пользователемinternika.org

      Похожие презентации

      Презентация на тему: » Файловая система 1.Файлы. Имена файлов 2.Соглашение 8.3. 3.Длинные имена файлов 4.Каталоги 5.Файловые операции 1 Разработала: учитель информатики СОШ 2.» — Транскрипт:

      1 Файловая система 1.Файлы. Имена файлов 2.Соглашение Длинные имена файлов 4.Каталоги 5.Файловые операции 1 Разработала: учитель информатики СОШ 2 Малахова Т.М.

      2 Организация доступа к хранимым данным Для обеспечения доступа каждый хранимый объект должен иметь уникальный адрес Люди легче запоминают данные, выраженные в символьной форме – имена, названия Долговременное хранение данных на компьютере организовано так, чтобы к нужным данным можно было обратиться по имени Информация на магнитном диске хранится в файлах Файл-это поименованная область на магнитном диске 2

      3 файлы Могут содержать любую информацию Условно можно разделить на файлы данных и файлы программ, в зависимости от хранимой в них информации Чтобы избежать путаницы их помещают в каталоги Каждый файл всегда регистрируется только в одном каталоге 3

      4 Имена файлов. Правила задания имени файлов определяются файловой системой и согласуются с требованиями ОС. Соглашение Имя файла состоит из двух частей, разделяемых при записи точкой 2. Первая часть от 1до 8 символов собственно имя 3. Вторая часть наз. расширением, указывающее на тип файла (config.sys, command.com, lotus.doc) 4. В имени файла разрешается использовать латинские буквы и цифры 5. Использовать в имени файла пробелы, знаки препинания и специальные символы ( \ / | + = : ?) не допускается Современными ОС поддерживаются «длинные имена файлов» Не может быть больше 256 символов Можно использовать русский алфавит Запрещается использовать \ | / ? * : Например: informatika.doc правила_1.txt gonki.exe 1-курсы$.doc 4 : ?) не допускается Современными ОС поддерживаются «длинные имена файлов» Не может быть больше 256 символов Можно использовать русский алфавит Запрещается использовать \ | / ? * : Например: informatika.doc правила_1.txt gonki.exe 1-курсы$.doc 4″>

      5 Каталоги Это специальное место на диске, где хранятся имена файлов, сведения о размере файла, времени его последнего обновления, атрибуты (свойства) файлов. На каждом магнитном диске может быть несколько каталогов Все каталоги (кроме корневого) – файлы специального вида Каждый каталог имеет имя Может быть зарегистрирован в другом каталоге Требования к именам такое же как и к имени файла Расширение как правило не указывается Каталог с которым пользователь работает в настоящий момент называетсятекущим. На каждом диске может быть только один главный или корневой каталог 5

      6 Файловая система Физическая адресация на носителе данных использует числовые адреса Функции посредника между пользователем и контроллерами устройств выполняет ОС компьютера Комплекс программных средств, входящих в состав ОС называется файловой системой Структура файловой системы и организация хранения данных влияют на удобство Работы и скорость доступа к файлам 6

      7 Путь доступа к файлу диски компьютера обозначают заглавными буквами латинского алфавита с двоеточием — С: Корневой каталог обозначают символом \ (обратная косая черта) – С:\ Все каталоги любого устройства вложены в его корневой каталог. Путь доступа к каталогу или файлу, начав с корневого каталога записывается так: С:\ Мои документы\ Информатика\ Занятие 1\ urok1.doc Путь доступа называют также путем поиска файла и представляет собой полный адрес файла в компьютерной системе Никакие 2 объекта файловой системы не могут иметь одинаковые полные адреса. Это означает: — 2 файла, находящихся в одном каталоге, не могут иметь одинаковые имена — 2 каталога, вложенные в один и тот же каталог не могут иметь одинаковые имена — имя вложенного каталога не может совпадать с именем файла, располагающегося в том же каталоге В операционной системе Windows в в в вместо каталога обычно говорят о папке 7

      8 С: Информатика Games Дистрибутив Paper.doc Urok1.doc Urok2.doc Tarzan Tarzan,exe tw2.txt Корневой каталог Файлы и каталоги 1-го уровня Файлы и каталоги 2 -го уровня Пример файловой системы на магнитном диске 8

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

      www.myshared.ru

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

      Понятие логической файловой системы

      Логическая файловая система в ОС UNIX (или просто файловая система) — это иерархически организованная структура всех каталогов и файлов в системе, начинающаяся с корневого каталога. Файловая система UNIX обеспечивает унифицированный интерфейс доступа к данным, расположенным на различных носителях, и к периферийным устройствам. Логическая файловая система может состоять из одной или нескольких физических файловых (под)систем, являющихся разделами физических носителей (дисков, CD-ROM или дискет).

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

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

      Ориентация и навигация в файловой системе

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

      Каждый процесс имеет текущий каталог. Сразу после регистрации текущим каталогом пользователя (на самом деле, процесса — начальной программы, обычно, командного интерпретатора) становится начальный каталог, указанный в файле /etc/passwd.

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

      Имена файлов в ОС UNIX

      В ОС UNIX поддерживается три способа указания имен файлов:

      • Краткое имя. Имя, не содержащее специальных метасимволов косая черта (/), является кратким именем файла. По краткому имени можно сослаться на файлы текущего каталога. Например, команда ls -l .profile требует получить полную информацию о файле .profile в текущем каталоге.
      • Относительное имя. Имя, не начинающееся с символа косой черты (/), но включающее такие символы. Оно ссылается на файл относительно текущего каталога. При этом для ссылки на файл или каталог в каком-то другом каталоге используется метасимвол косой черты (/). Например, команда ls -l ../.profile требует получить полную информацию о файле .profile в родительском каталоге текущего каталога, а команда vi doc/text.txt требует открыть в редакторе vi файл text.txt в подкаталоге doc текущего каталога.
      • Полное имя. Имя, начинающееся с символа косой черты (/). Оно ссылается на файл относительно корневого каталога. Это имя еще называют абсолютным, так как оно, в отличие от предыдущих способов задания имени, ссылается на один и тот же файл независимо от текущего каталога. Например, команда ls -l /home/user01/.profile требует получить полную информацию о файле .profile в каталоге /home/user01 независимо от того, в каком каталоге выполняется.

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

      В ОС UNIX нет теоретических ограничений на количество вложенных каталогов. Тем не менее, в каждой реализации имеются практические ограничения на максимальную длину имени файла, которое указывается в командах (как и на длину командной строки в целом). Оно задается константой PATH_MAX в заголовочном файле /usr/include/limits.h. Так, в ОС Solaris 8 имя файла не может быть длиннее 1024 символов.

      Получение информации о текущем каталоге

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

      Изменение текущего каталога

      Для изменения текущего каталога используется команда cd:

      Если каталог не указан, используется значение переменной среды $HOME (обычно это начальный каталог пользователя). Чтобы сделать новый каталог текущим (войти в каталог), нужно иметь для него право на выполнение. Команда cd является встроенной командой интерпретатора и использует для изменения текущего каталога соответствующий системный вызов.

      Рассмотрим пример совместного использования команд cd и pwd для переходов по каталогам файловой системы:

      Получение информации о файлах

      Для просмотра информации о типах (и других атрибутах) файлов в ОС UNIX используется команда ls со следующим синтаксисом:

      ls [-abCcdeFfgiLlmnopqRrstux1] [файл . ]

      Команда ls выдает информацию об указанных файлах или о файлах и каталогах в текущем каталоге (если файл не задан). Формат и подробность выдаваемой информации зависит от опций. Основные опции команды ls представлены в табл. 10:

      Таблица 10. Основные опции команды ls

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

      Основным форматом результатов ls является так называемый длинный листинг (задаваемый опцией -l). По умолчанию выдаются только имена файлов в несколько столбцов:

      Часто также используется опция -F:

      Многочисленные примеры использования и результатов выполнения команды ls представлены в следующих разделах.

      Типы файлов

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

      Обычный файл

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

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

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

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

      В длинном листинге признаком каталога является символ d в первой позиции первого столбца:

      Каталоги создаются командой mkdir: mkdir каталог .

      Специальный файл устройства

      Обеспечивает доступ к физическим устройствам. В UNIX различают символьные (character special device) и блочные (block special device) файлы устройств. Доступ к устройствам осуществляется путем открытия, чтения и записи в специальный файл устройства.

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

      В длинном листинге признаком специального символьного и блочного устройств являются символы с и b в первой позиции первого столбца, соответственно:

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

      mknod имя b главный_номер второстепенный_номер
      mknod имя c главный_номер второстепенный_номер

      Главный номер устройства задает драйвер (индекс в таблице драйверов системы), или тип устройства, а второстепенныйэкземпляр устройства.

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

      FIFO — именованный канал

      Этот файл используется для связи между процессами по принципу очереди. Именованные каналы впервые появились в UNIX System V, но большинство современных систем поддерживают этот механизм.

      В длинном листинге признаком именованного канала является символ p в первой позиции первого столбца:

      Именованные каналы создаются командой mknod:

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

      Стандарт POSIX (Portable Operating System Interface) требует реализовать поддержку двух типов связей — жестких и символических. Жесткой связью (hard link) считается элемент каталога, указывающий непосредственно на некоторый индексный дескриптор. Жесткие связи очень эффективны, но у них существуют определенные ограничения, так как они могут создаваться только в пределах одной физической файловой системы. Когда создается такая связь, связываемый файл должен уже существовать. Кроме того, каталоги не могут связываться жесткой связью.

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

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

      Количество жестких связей файла (а также количество файлов в каталоге, если файл является каталогом) отображается во втором поле длинного листинга:

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

      ln [ -fns ] исходный_файл [ цель ]
      ln [ -fns ] исходный_файл . цель

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

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

      Опции -f и -n требуют, соответственно, принудительно создать связь или не создавать ее, если цель задает существующий файл.

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

      В длинном листинге признаком символической связи является символ l в первой позиции первого столбца. Рассмотрим простой пример создания символической связи:

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

      В длинном листинге признаком сокета является символ s в первой позиции первого столбца. Вот какие сокеты можно найти в Solaris 8:

      Определение типа файла

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

      file [ -h ] [ -m файл_сигнатур ] [ -f файл_списка ] файл.
      file [ -h ] [ -m файл_сигнатур ] -f файл_списка
      file -c [ -m файл_сигнатур ]

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

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

      При определении типа файла используется файл сигнатур. Стандартный файл сигнатур — /etc/magic. В нем хранятся числа или строки, показывающие тип файла:

      Формат файла сигнатур детально описан на странице справочного руководства magic(4).

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

      Поддерживаются следующие опции:

      -c Проверяет формат файла сигнатур.

      -h Не следует по символическим связям.

      -f Задает файл, содержащий список файлов для классификации.

      -m Задает альтернативный файл сигнатур, вместо /etc/magic.

      Рассмотрим простой пример:

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

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

      Копирование файлов

      Команда cp копирует исходный файл в целевой файл или каталог. Она имеет следующий синтаксис:

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

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

      Команда cp поддерживает следующие основные опции:

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

      -r копирует рекурсивно, включая подкаталоги.

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

      Рассмотрим ряд простых примеров копирования. Вот как, независимо от типа, копируется в каталог несколько файлов:

      Вот пример обычного копирования файлов «один в один»:

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

      Удаление файлов

      Для удаления файлов используется команда rm со следующим синтаксисом:

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

      Для удаления файла пользователь должен обладать правом записи в соответствующий каталог. Если нет права на запись в файл и входной поток связан с терминалом, на терминал выдаются (в восьмеричном виде) права доступа к файлу и запрашивается подтверждение; если введен ответ y — файл удаляется, иначе — нет.

      Команда rm воспринимает следующие основные опции:

      -f Удаляет без запросов подтверждения все файлы, независимо от прав доступа к ним, если имеется право записи для каталога.

      -i Запрашивает подтверждения, прежде чем удалить файл. Опция -i отменяет действие опции -f; она действует даже тогда, когда стандартный входной поток не связан с терминалом.

      -r Рекурсивное удаление, с подкаталогами, в том числе, не пустыми.

      -R То же, что и опция -r.

      Команда rm без опций рекурсивного удаления не удаляет каталоги. Для удаления пустых каталогов предназначена команда rmdir. Если в каталоге есть другие файлы, кроме ссылок на текущий и родительский каталог, команда rmdir его не удаляет. Эта команда имеет следующий синтаксис: rmdir [-p][-s] каталог.

      Команда rmdir воспринимает следующие опции:

      -p Позволяет удалить каталог и его родительские каталоги, если они — пустые. В стандартный выходной поток выдается сообщение об удалении всех указанных каталогов или о сохранении части из них по каким-либо причинам.

      -s Подавляет выдачу сообщений при использовании опции -p.

      Рассмотрим ряд примеров удаления файлов и каталогов (продолжая предыдущие примеры):

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

      Команда mv перемещает (переименовывает) исходный файл (или файлы) в целевой файл (или каталог). Она имеет следующий синтаксис:

      mv [-f][-i] исходный_файл целевой_файл
      mv [-f][-i] исходный_файл . каталог

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

      Для перемещения файла необходимо иметь права записи в исходном и целевом каталоге.

      Команда mv поддерживает следующие опции:

      -f Принудительное перемещение — если целевой файл уже существует, то он удаляется.

      -i Запрашивает подтверждение удаления существующего файла.

      Просмотр содержимого файлов

      Стандартным средством просмотра содержимого файлов (помимо редакторов или команд типа od), является команда cat. Она читает файлы из командной строки в заданной последовательности и помещает их содержимое в стандартный выходной поток. Команда cat имеет следующий синтаксис: cat [-u][-s][-v][-t][-e] [файл . ]

      Если ни один файл не указан или указан символ дефиса (), то команда читает стандартный входной поток.

      Команда cat — полезный инструмент для конкатенации нескольких файлов.

      Команда cat воспринимает следующие основные опции:

      -u Вывод не буферизуется (по умолчанию — буферизуется).

      -s Не сообщается о несуществующих файлах.

      -v Визуализация непечатных символов (кроме табуляций, переводов строк и переходов к новой странице). Управляющие символы изображаются в виде ^X (CTRL+X); символ DEL (восьмеричное 0177) — в виде ^?. Символы, не входящие в набор ASCII (то есть с ненулевым восьмым битом) выдаются в виде M-x, где x — определяемый младшими семью битами символ.

      Рассмотрим несколько примеров использования команды cat:

      Права доступа к файлам

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

      Каждый файл в ОС UNIX содержит набор прав доступа, по которому определяется, как пользователь взаимодействует с данным файлом. Этот набор хранится в индексном дескрипторе данного файла в виде целого значения, из которого обычно используется 12 битов. Причем каждый бит используется как переключатель, разрешая (значение 1) или запрещая (значение 0) тот или иной доступ.

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

      Базовые биты прав доступа представлены в табл. 11. Там дано восьмеричное значение, задающее соответствующий бит, вид этого бита в первом столбце длинного листинга и право, задаваемое этим битом.

      Таблица 11. Права доступа к файлам в ОС UNIX

      citforum.ru

      Читайте так же:  Закона об охране и использовании памятников истории и культуры

Обсуждение закрыто.