Волжский университет им.Татищева
Факультет «Информатика и телекоммуникации»
Кафедра «Информатика и системы управления»
УТВЕРЖДАЮ
Проректор по УР
Е.В. Никифорова
2000 г.
МЕТОДИЧЕСКОЕ ПОСОБИЕ
дисциплина «Операционные системы» ОС UNIX
Работа с файлами и каталогами
для студентов специальностей
Вычислительные машины, системы, комплексы и сети
Информационные системы в технике и технологии
г.Тольятти
2001
Методическое пособие предназначено для студентов дневного и заочного отделений специальностей «Вычислительные машины, системы, комплексы и сети», «Информационные системы в технике и технологии» для изучения основных правил проектирования операционных систем. Разработано на основании государственного стандарта.
Составитель: ст. преподаватель Трубачева С. И.
Файловая система построена из обыкновенных файлов, символических связей и справочников. Эти компоненты обеспечивают способ организации, поиска и управления информацией. Прежде чем подробно описывать компоненты, дадим короткий обзор.
Обыкновенные файлы - это набор символов, хранящихся на диске. Они могут хранить тексты или программы или коды программ.
Специальные файлы соответствуют физическим устройствам (например, терминал или диск).
Символическая связь - это файл, который указывает на другой файл.
Справочник содержит имена других справочников (называемых подсправочниками) или файлов. Файлы вы можете группировать в справочники по своему выбору.
Всякий раз, когда вы взаимодействуете с системой UNIX, то вы находитесь в определенном месте структуры файловой системы. Система UNIX автоматически помещает вас в определенную точку в файловой системе каждый раз, когда вы регистрируетесь. Из этой точки вы можете передвинуться по иерархии, чтобы работать в любом вашем справочнике над любым файлом, к которому вы имеете доступ.
После того как вы успешно завершили процедуру регистрации, система UNIX помещает вас в определенное место в структуре файловой системы, называемое вашим собственным справочником. Регистрационное имя, назначенное вам системой UNIX, обычно является именем этого справочника. Каждый пользователь с полномочным регистрационным именем имеет уникальный собственный справочник в файловой системе.
Система UNIX способна держать связь со всеми собственными справочниками, поддерживая один или более системных справочников для их организации. Например, собственные справочники с регистрационными именами startship, mary2 и jmrs содержатся в системном каталоге, называемом home.
Внутри вашего собственного справочника вы можете создавать файлы и подсправочники. Вы можете перемещать и удалять ваши файлы и справочники и управлять доступом к ним. Вы несете ответственность за все, что создаете в своем собственном справочнике.
Текущий справочник
Все время, что вы будете работать в вашем собственном справочнике, предполагается, что он ваш текущий рабочий справочник. Если вы перейдете в другой справочник, то он становится вашим текущим справочником.
Команда pwd печатает имя справочника, в котором вы сейчас работаете. Например, если ваше регистрационное имя startship и вы задаете команду pwd в ответ на первую после регистрации подсказку, то система UNIX ответит следующим образом:
$ pwd<CR> /home/startship
$
В ответ система назовет вам имя справочника, в котором вы работаете (startship) и местоположение этого справочника в файловой системе. Имя пути /home/startship говорит, что справочник root (обозначен косой чертой в строке) содержит справочник home, который в свою очередь содержит справочник startship. Все другие косые черты в имени пути используются для разделения имен справочников и файлов, и показывают положение каждого справочника по
отношению к root.. Имя справочника, которое показывает местоположение справочника в этом пути, называется полным именем справочника или именем пути.
Имя пути
Каждый файл и справочник системы UNIX идентифицируется уникальным именем пути. Имя пути показывает местоположение файла или справочника и обеспечивает направление поиска его. Существует 2 типа имени пути: полное и родственное.
Полное имя пути (иногда называемое абсолютным именем пути) дает направление, которое начинается в справочнике root и показывает путь далее по уникальной последовательности справочников к конкретному справочнику или файлу. Вы можете использовать полное имя пути для поиска любого файла или справочника в системе UNIX.
Так как полное имя пути всегда начинается со справочника root, то это имя начинается с символа косая черта (/). Последнее имя в полном имени пути может быть либо именем файла либо именем справочника. Все другие имена пути должны быть справочниками.
Чтобы понять как полное имя пути строится, обратитесь к следующему примеру. Предположим, что вы работаете в справочнике startship, расположенном в /home. Вы задаете команду pwd и система печатает полное имя пути вашего рабочего справочника:
/home/startship
/ - это корневой справочник (root);
home - системный справочник, расположенный на один уровень ниже справочника root;
/ - разделяет имена справочников root и startship;
startship - текущий рабочий справочник.
Родственное имя пути
Родственное имя пути дает направления, которые начинаются в вашем текущем рабочем справочнике и ведут вас вверх или вниз через серию справочников к конкретному файлу или справочнику. Двигаясь вниз из текущего справочника, вы можете получить доступ к своему файлу или справочнику. Двигаясь вверх из текущего каталога, вы пройдете через родительские справочники к родителю всех системных справочников, т.е. к root.
Родственное имя пути начинается с имени справочника или файла.
Одна точка (.) означает текущий справочник, две точки (..) - справочник, непосредственно находящийся выше текущего справочника в иерархии файловой системы. Справочник, представленный двумя точками, называется родительским для справочника, обозначенного одной точкой (вашего текущего справочника).
Например, вы находитесь в справочнике startship, который содержит справочники draft, letters и bin и файл mbox. Родственным именем пути для каждого из них является просто его имя.
Справочник draft, принадлежащий справочнику startship, содержит файлы outline и table. Родственное имя пути от startship к файлу outline:
draft/outline
Обратите внимание, что косая черта в этом имени пути разделяет имя справочника draft и имя файла outline. Здесь наклонная черта показывает, что outline является подчиненным справочнику draft, т.е. draft является родителем outline.
Чтобы подняться к родителю вашего текущего справочника, вы можете ввести две точки (..). Это означает, что если вы находитесь в справочнике draft, то .. является именем пути к startship, и ../.. является именем пути к родительскому справочнику для startship, т.е. к home.
Из справочника draft вы также можете проследить путь к файлу sanders, указав имя пути ../letters/sanders. Две точки (..) приводит вас к starship. Затем имена letters и sanders ведут вас вниз через справочник letters к файлу sanders.
Правила именования справочников и файлов
Вы можете давать справочникам или файлам любые имена в соответствии со следующими правилами:
допустимы все символы, за исключением /;
некоторые имена лучше не использовать, такие как пробел, табуляция и следующие: ? " #$^ ();<>[]|\*@'~&. Если вы воспользуетесь символами пробел или табуляция в имени файла или справочника, то вы должны заключить имя в двойные кавычки в командной строке;
избегайте использования знаков + - или . в качестве первого символа в имени файла;
система UNIX различает большие и маленькие буквы. Например, система предполагает, что справочник (или файл) названный draft отличается от DRAFT.
Организация справочника
В этом разделе описываются 4 системные команды, позволяющие вам организовывать и использовать структуру справочника:
mkdir - создать новый справочник или подсправочник в вашем текущем справочнике;
ls - напечатать список имен всех подсправочников и файлов в справочнике;
cd - изменить ваше местоположение в файловой системе, т.е. перейти из одного справочника в другой;
rmdir -удалить пустой справочник. Эти команды могут использовать либо полное имя пути, либо родственное. Две команды могут применяться без имени пути.
Команда mkdir - создать справочник
Рекомендуется создавать подсправочники в вашем собственном справочнике в соответствии с логической схемой, которая будет облегчать восстановление информации ваших файлов. Если вы поместите все файлы, относящиеся к одной теме, в один справочник, то вы будете знать, где их затем найти. Для создания справочника воспользуйтесь командой mkdir.
Синтаксис команды:
mkdir имя справочника(ов)
Например, подсправочник draft создается при помощи следующей команды, выдаваемой из справочника home (/home/startship): $ mkdir draft
Пользователь может создать сразу несколько подсправочников одновременно, перечислив их всех в одной командной строке:
$ mkdir draft letters bin
Вы можете перейти к подсправочнику и в нем построить дополнительные подсправочники.
Команда ls - напечатать содержимое справочника
Все справочники в файловой системе имеют информацию о содержащихся в них файлах и справочниках, такую как: имя, размер и дата последней модификации. Вы можете получить эту информацию о вашем текущем справочнике и других системных справочниках, задав команду ls.
Команда ls перечисляет имена всех файлов и подсправочников в указанном справочнике. Если вы не укажете справочник, то команда ls напечатает информацию о файлах и справочниках в вашем текущем справочнике.