RSS    

   Реферат: Практическая работа по предмету UNIX

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

Все, с чем работает система UNIX, она воспринимает в виде файла. Файловая система – это ключевое звено, обеспечивающее успешное применение UNIX.

1.    Типы файлов

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

1.    Файлы данных

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

Итак, к файлам данных относятся файлы, которые содержат информацию и создаются приложениями и прикладными программами.

2.    Форматы хранения данных.

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

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

cat /bin/echo

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

Примером текстового файла может служить файл .profile. Чтобы увидеть его содержание введите команду

cat /.profile

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

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

3.    Выполняемые файлы.

Второй тип файлов – выполняемые. Как и файлы данных, выполняемые файлы могут записываться и в двоичном и в ASCII форматах. К выполняемым файлам относятся файлы, содержащие различные программы и команды. Некоторые маленькие программы, выполняющие одну конкретную задачу, называются командами. Эти маленькие программы имеют и другое название - утилиты. Большинство команд UNIX хранятся в каталоге /usr/bin. Чтобы просмотреть список этих команд, наберите

ls /usr/bin

(большая часть этих файлов сохранена в двоичном формате). Есть особые команды называемые скриптами shell. Скрипт shell – это файл, который содержит вызов одной или нескольких команд. Запуск скрипта shell приводит к выполнению этих команд (такие файлы хранятся в ASCII – формате). Наберите, к примеру, команду

whereis cal

она определит местонахождение файла cal. На самом деле это маленький скрипт. Вы можете увидеть его содержание, напечатав

cat /usr/bin/whereis

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

4.    Файлы устройств

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

Вы помните, что в отличие от DOS, все, с чем работает UNIX, является файлом. Поэтому в UNIX и любое специальное устройство представлено файлом, который используется при обращении к этому устройству (т.е. доступ к устройствам осуществляется путем открытия, чтения и записи в специальный файл устройства). Например, в UNIX параллельный порт (куда обычно подсоединяется принтер) называется /dev/lp. Это означает что в каталоге dev существует файл lp. И когда Вы посылаете файлу lp информацию, то она не сохраняется на жестком диске, а отправляется на принтер.

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

Специальные файлы устройств содержатся в каталоге /dev. В UNIX различают символьные (character) и блочные (block) файлы устройств. Символьные файлы устройств используются для небуферизованного обмена данными с устройством, в противоположность этому блочные файлы позволяют производить обмен данными в виде пакетов фиксированной длины - блоков. Доступ к некоторым устройствам может осуществляться как через символьные, так и через блочные специальные файлы.

Чтобы просмотреть список специальных файлов устройств, введите

ls /dev

Блочными файлами представлены, например, жесткие диски, а символьными - терминалы и принтеры. Если Вы введете команду

ls -l /dev

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

5.    Файлы связей. Создание файлов связей.

1.5.1. Жесткие связи.

UNIX позволяет одному физическому файлу иметь несколько имен в файловой системе. Заметьте, что имя файла является атрибутом файловой системы, а не набора данных на диске, который не имеет имени как такового; а имеет связанные с ним метаданные, содержащие все характеристики файла и позволяющие операционной системе выполнять открытие, прочтение, запись данных, создание или удаление файла. Связь имени файла с его данными называется жесткой связью. Для создания жесткой связи используют команду ln. Например, для создания еще одного имени (second) файла, на который уже указывает имя first используют команду

ln first second

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

ls -l

атрибуты файлов first и second first будут абсолютно одинаковыми.

Хотя с точки зрения пользователя это два разных файла, изменения внесенные в каждый из этих файлов затронут и другой, ведь имена ссылаются на одни и те же данные файла. Вы можете переместить один из файлов в другой каталог - все равно они будут связаны жесткой связью с данными файла. Легко проверить, что удаление одного из файлов first, second не приведет к удалению самого файла; для этого нужно удалить все связи. Информацию о наличии у файла нескольких имен, связанных с ним жесткими связями можно получить из списка файлов, который выдает команда ls -l:

-rw-r--r-- 2 andrei stuff 7245 Jan 17 8:05 second

-rw-r--r-- 2 andrei stuff 7245 Jan 17 8:05 first

Во второй колонке списка указывается число жестких связей каждого файла.

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

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

ln . profile pr1

Команда

ls -l

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

Попробуйте использовать опцию -v команды ln. Она выводит на экран сообщение о том, что делает команда ln

ln -v .profile pr2

В этом случае результатом работы опции -v будет строка:

ln .profile pr2

означающая, что создана связь pr2 к файлу .profile. А вот, если Вы еще раз введете эту же команду (ln -v .profile pr2), сообщение опции -v будет иным:

ln .profile pr2: File exists

Оно означает, что файл pr2 уже существует.

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

ln .kermrc pr2

(Вы хотите создать файл связи pr2 к файлу .kermrc). Но система тут же выдает Вам сообщение

ln .kermrc pr2: File exists

(Файл существует).

ls -l

показывает, что pr2 по-прежнему является жесткой связью к файлу .profile.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.