Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по linux.DOC
Скачиваний:
43
Добавлен:
11.04.2015
Размер:
452.1 Кб
Скачать

Лабораторная работа №1 Файловая система и основные команды работы с файлами unix Цель работы.

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

Основы файловой системы unix.

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

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

Различные UNIX-системы используют различные типы физических файловых систем (UFS,FFS,Ext2 и др.). При этом логический уровень подчиняется единым стандартам и образует единуюфайловую систему UNIX.

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

Для разделения имен каталогов в UNIX используется прямая косая черта (/). Например, /home/john/letters/mom.brtозначает: "файлmom.txlв каталогеlettersв каталогеjohnв каталогеhome". Можно также сказать, чтоjohn- это подкаталог каталогаhomeи т.д.

В этом примере следует отметить еще несколько моментов:

  • Перед именем стоит косая черта (/). Косая черта в начале имени обозначает "корневой каталог", который является, по сути, точкой, в которой "склеены" между собой все диски системы. В ОС UNIX никогда не обращаются к самому диску, а всегда - к подкаталогам корневого каталога.

  • UNIX-системы являются многопользовательскими. Каждому пользователю назначается "домашний каталог", в котором он должен хранить свои файлы, даже если он - является единственным пользователем системы. /home/john- это, вероятно, домашний каталог пользователяjohn.

  • Пользователи могут создавать собственные каталоги так, как Джон создал каталог letters.

Взятое нами в качестве примера имя файла (/home/john/letters/mom.txt) называется полным именем, потому что оно показывает весь "путь" к файлу, начинаяс корневого каталога. Такие имена не обязательно использовать постоянно. Применяется целый ряд сокращений:

  • Рабочий каталогвсегда в Вашем распоряжении. Можно указывать пути относительно текущего каталога, а не корневого. Например, если текущим является каталог/home/john/letters, можно указать только имя файла -mom.txt. (Именно это Вы и делаете в большинстве случаев: указываете файл в текущем каталоге.) Командаpwdвыдает имя текущего каталога; командаcdкаталогделает текущим другой каталог. Так, если текущим является каталог/home/john, то командаcd lettersперенесет Вас в каталогlettersКомандаmkdirкаталог создает новый каталог, а командаrmdirкаталог удаляет каталог при условии, что он не содержит файлов.

  • Вы можете обозначать домашний каталог знаком ~, а комбинацией~имя- "начальный каталог пользователяимя". Например,~john/letters/mom.txt- еще один способ указать файл Джона. Командаcdбез параметров предназначена для возврата в начальный каталог, при этом не учитывается, откуда Вы начали работу.

  • Символы .. обозначают "родительский каталог". Чаще всего они используются с командами cd. Например, если текущим является каталог~john/letters, то командаcd ..перенесет Вас в каталог~john.

В UNIXсуществуют следующие типы файлов:

  • обычный файл.Блок информации, текст, программа и т.п, хранимый на дисковом или ином носителе;

  • каталог.Содержит информацию о других файлах и каталогах;

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

  • очередь, илиименованный канал. Системная структура для обмена данными между процессами;

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

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

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

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

«пробел» «~» «,» «?» «!» «*» «[» «]»

«/» «\» «&» « > » « < »

Длина имени ограничена, в зависимости от реализации системы, 255 символами (UNIXSystemV) или 14 символами (BSDUNIX, а также ранние реализацииUNIX). В именах различаются строчные и прописные буквы. Например, именаtest,Test,TESTзадают триразличных файла, которые могут располагаться в одном каталоге.

Имена каталогов подчиняются общим требованиям к именам файлов. Каталог самого верхнего уровня называется корневым и обозначается символом «косая черта» («/»). Все доступное пользователям файловое пространство объединено в единое дерево каталогов. На логическом уровне нет разделения на тома, диски и т.п. Различные носители – дополнительные жесткие диски и их разделы, дискеты,CD-ROM, другие сменные накопители - отображаются (путеммонтирования) в виде каталогов основной файловой системы.

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

/usr/sbin/adduser

начинается с корневого каталога «/», в который содержит каталог «usr». Каталог «usr» содержит (под)каталог «sbin», в котором расположен файл «adduser».

Часть составного имени файла до его непосредственного имени называется путем к файлу (в примере путь - /usr/sbin/).

В каждый момент времени один из каталогов является текущим. Если при обращении к файлу не указан путь, подразумевается обращение к файлу из текущего каталога. Так, если текущим каталогом является /usr/sbin, то к файлу /usr/sbin/adduserможно обратиться по (сокращенному) имениadduser.

Если путь не начинается с символа «/», считается, что путь записывается не относительно корневого каталога, а относительно текущего каталога (такой путь называется относительным). Существуют специальные обозначения, применяемые в записи относительного пути: символом «точка» («.») обозначается текущий каталог, «две точки» («. . ») – каталог, родительский по отношению к текущему.

В файловой системе UNIXфайл любого типа, кроме имени, имеет следующие атрибуты:

  • пользователь, которому принадлежит файл («владелец»);

  • группа пользователей, которой принадлежит файл («группа-владелец»);

  • дата и время создания или последней модификации;

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

  • режим доступа (права, атрибуты доступа) – на чтение, запись и исполнение. Задаются отдельно для владельца, группы-владельца и остальных пользователей.

Права доступа (вместе с типом файла) символически отображаются в виде символов «r» (чтение), «w» (запись или модификация), «x» (для файлов – исполнение, для каталогов – право на просмотр содержимого). Отсутствие какого-либо права обозначается символом «-».

Первым символом отображается тип файла («-» - обычный файл, «d» - каталог (directory), «l» - символическая ссылка (link) и т.д.). Затем следуют 9 символов, из которых первая тройка символов относятся к владельцу, вторая – к группе-владельцу, последняя – к остальным.

Пример.

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