скачать рефераты
  RSS    

Меню

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

скачать рефераты

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

1.    Дерево каталогов.

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

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

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

Большинство систем UNIX имеет стандартную структуру каталогов. Подкаталоги корневого каталога "/'' относятся к числу важнейших подкаталогов: среди них /bin, /etc, /dev, и /usr. Эти каталоги в свою очередь содержат другие каталоги, которые содержат системные конфигурационные файлы, программы и т.д.

В частности, каждый пользователь имеет личный (домашний) каталог, который выделяется пользователю для хранения его файлов. Обычно пользовательский личный каталог находится под каталогом /home и называется именем пользователя. Когда Вы входите в систему, Вы автоматически оказываетесь в своем личном каталоге. В системе MINIX Ваш личный каталог является подкаталогом каталога /usr и носит название /usr/<имя пользователя>.

Итак, давайте рассмотрим дерево каталогов типичной файловой системы UNIX. Оно даст вам некоторое представление о том, как организовано дерево каталогов в Вашей системе.


1.    Исследование дерева каталогов системы MINIX.

В формате MS Word 97

1.    Распределение файлов в основных каталогах.

Мы уже выяснили, что для упрощения работы с файлами существуют каталоги. Но каталогов в UNIX тоже большое количество. Как же ориентироваться среди каталогов? Оказывается, каждый основной каталог UNIX имеет свое общепринятое название и общепринятое назначение. Чем лучше Вы разберетесь в иерархии файлов и каталогов, тем более эффективно сможете ими пользоваться.

Ниже приводится лишь краткий перечень основных каталогов:

/bin это сокращение от "binaries'' (т.е. двоичные или выполняемые файлы), в этом каталоге находятся программы наиболее часто употребляемых команд и утилит, как правило, общего пользования. Когда, например, Вы используете команду date, Вы выполняете программу /bin/date. Используйте команду ls –F /bin чтобы просмотреть список, имеющихся здесь файлов. Большинство (если не все) файлов в /bin имеют справа от имени звездочку ("*"). Это говорит о том, что файлы выполняемые.

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

Вот перечень некоторых из наиболее используемых файлов устройств.

·     /dev/console/ относится к системной консоли, т.е. к монитору, напрямую связанному с системой.

·     Различные файлы устройств /dev/ttyS и /dev/cua используются для доступа к последовательным портам. Например, /dev/ttyS0 относится к COM1 под MS-DOS. Файлы устройств /dev/cua относятся к "звонящим" ("callout") устройствам, которые используются совместно с модемами.

·     Файлы устройств, имена которых начинаются с hd, имеют доступ к жестким дискам. /dev/hda относится ко всему первому жесткому диску, а hda1 только к первому разделу /dev/hda.

·     Файлы устройств с именами, начинающимися на fd - это доступ к дисководам гибких дисков. fd0 - первый дисковод, fd1 - второй.

·     Файлы устройств lp обеспечивают доступ к параллельным портам. /dev/lp0 относится к LPT1 в MS-DOS.

·     /dev/null используется как "черная дыра" - любые данные, посланные сюда, канут в Лету. Если Вы хотите подавить вывод команды на экран, Вы можете перенаправить этот вывод в /dev/null.

·     Файлы устройств с именами /dev/tty относятся к "виртуальным консолям" Вашей системы. /dev/tty1 соответствует первой VC, /dev/tty2 соответствует второй и т.д.

/etc содержит множество всевозможных системных файлов конфигурации. Они включают /etc/passwd (файл паролей), /etc/rc (командный файл инициализации) и т.д. /lib включает библиотечные файлы языка Си и других языков программирования. Вместо того, чтобы каждая программа имела свою собственную копию этих выполняемых файлов, они хранятся в одном общедоступном месте - в /lib. Это позволяет сделать выполняемые файлы меньше и экономит место в системе.

/home в этом каталоге обычно хранятся личные каталоги пользователей. Например, /home/larry - домашний каталог пользователя "larry".

/lost-found это каталог "потерянных" файлов. Сюда помещаются файлы, которые сохранили свое содержимое и структуру, но утратили имя в каком-либо каталоге вследствие неправильного останова UNIX или аппаратных сбоев.

/tmp каталог хранения временных файлов, создаваемых при выполнении программы. Многие программы нуждаются в создании рабочих файлов, которые нужны короткое время. Каноническое место для этих файлов в /tmp. Например, когда Вы пользуетесь редактором, то он создает в этом каталоге копию файла, что позволяет не работать с оригиналом и в случае аварии избежать создания в Вашем личном каталоге ненужного файла. /usr это очень важный каталог. В этом каталоге находятся подкаталоги различных сервисных подсистем – системы печати, электронной почты и т.д. (/usr/spool/), файлы утилит UNIX (/usr/bin), дополнительные программы, используемые на данном компьютере (usr/local), электронное справочное руководство (/usr/man), справочная информация (/usr/adm). Большинство вещей, содержащихся в /usr необязательны для системы. Но это такие необязательные вещи, которые делают систему полезной и интересной. /usr содержит много больших программных пакетов и конфигурационных файлов, которые их сопровождают. /usr/bin настоящее хранилище для различных программ UNIX. Он содержит большинство выполняемых программ, которых нет ни в каких других местах, например, в том же /bin их нет. /usr/etc точно также, как и /etc, содержит всевозможные системные программы и конфигурационные файлы. /usr/etc содержит даже больше утилит и файлов. В общем, файлы, находящиеся в /usr/etc несущественны для системы, в отличие от тех, которые находятся в /etc, и очень существенны. /usr/man этот каталог содержит страницы справочного руководства. Здесь два подкаталога для каждого раздела руководства. Например, /usr/man/man1 содержит исходные тексты (неотформатированный оригинал) страниц руководства в разделе 1 и /usr/man/cat1 содержит отформатированные страницы для раздела 1. /usr/spool содержит файлы, которые предварительно формируются для других программ. Например, если Ваша машина подключена к сети, входная почта будет помещаться в /usr/spool/mail до тех пор, пока вы не прочитаете ее или не удалите. Входящие и исходящие новости помещаются в /usr/spool/news и т.д. /usr/adm содержит различные файлы, интересные системному администратору, специфические системные файлы, фиксирующие ошибки и проблемы, возникающие в системе. Другие файлы фиксируют входы в систему, как и неудачные попытки войти. /var содержит каталоги, которые часто меняются в размере или имеют тенденцию быстро расти. В некоторых версиях UNIX используется вместо /usr/spool.

В формате MS Word 97

1.    Копирование, переименование и перемещение файлов.

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

В UNIX все эти проблемы решают команды cp (copy - копировать) и mv (move - перемещать).

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

1.    Копирование одиночного файла.

Для копирования одиночного файла используется команда

cp <имя файла1> <имя файла2 >,

где файл1 – файл, который Вы копируете, а файл2 – файл, в который Вы копируете.

Скопируйте, например, файл .profile, находящийся в Вашем личном каталоге, для чего введите команду

cp .profile pro

Команда

ls -l

продемонстрирует Вам, что Вы создали файл pro, который является копией файла .profile.

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

cp .kermrc pro

Команда

ls –l

покажет, что файл pro - копия .profile исчез, а это имя теперь носит копия файла .kermrc.

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

2.    Копирование нескольких файлов.

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

cp <имя файла1> <имя файла N > <имя каталога >,

где файл1 … файл N – копируемые файлы, а последний аргумент является каталогом, в который Вы копируете.

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

cp .kermrc .profile newcat

Вы увидите следующее сообщение:

Usage: cp file1 file2

cp file… dir

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

Поэтому давайте создадим новый каталог в Вашем личном каталоге:

mkdir newcat

Проверьте, появился ли каталог newcat с помощью команды

ls –F

Среди файлов и подкаталогов текущего каталога Вы должны найти имя newcat, отмеченное косой чертой / (помните, что это значит?).

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

cp .kermrc .profile newcat

На этот раз она должна быть более удачной, проверим это:

cd newcat; ls -а

Команда ls -а вывела на экран список файлов текущего каталога newcat – это файлы .kermrc и .profile.

При копировании нескольких файлов можно использовать шаблоны. Давайте создадим еще один подкаталог Вашего личного каталога:

cd; mkdir secnew

В подкаталоге newcat создадим файлы

echo 'hello' >hel; date>vrem1

А теперь с помощью шаблона * скопируем в подкаталог secnew все файлы подкаталога newcat:

cp newcat/* secnew

Проверьте результаты нашей работы, введя уже знакомые Вам команды:

cd secnew; ls -а

Не удивляйтесь, что не скопировались файлы .kermrc .profile - их имена начинаются с точки, а шаблон * не задает таких имен. (Для задания подобных имен используют шаблон .*)

3.    Копирование файлов и подкаталогов.

Опция -r команды cp позволяет копировать файлы в каталоге, включая любое количество подкаталогов и входящих в них файлов.

Попробуйте скопировать все файлы и подкаталоги каталога newcat в каталог thnew. Для этого введите следующие команды

cd

cp -r newcat thnew

Команды

cd thnew

ls –Fa

убедят Вас, что все получилось.

Опция -r также разрешает использовать шаблоны. Командная строка

cd; mkdir fornew; cp -r * fornew

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

cd fornew

ls –Fa

Если Вы употребите команду cp без -r, то использование шаблона * приведет лишь к копированию файлов текущего каталога:

cd; mkdir finew

cp * finew

эта команда копирует все файлы Вашего личного каталога в подкаталог finew, исключая все подкаталоги. Когда cp встречает каталог, она выдает сообщение:

cp: fornew: Is a directory

(fornew: это каталог). Команды

cd finew

ls –Fa

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

Вы можете также скопировать и любой подкаталог

cp -r fornew sixnew

Команда

ls –l

укажет Вам, что созданный каталог sixnew является копией каталога fornew.

2.    Перемещение файлов и каталогов.

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

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

mv <имя файла> <имя каталога>,

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

Выведите на экран список файлов и подкаталогов Вашего личного каталога и подкаталога secnew с помощью командной строки:

cd; ls -a . secnew

Заметьте, что файл .profile существует в Вашем личном каталоге, а в подкаталоге secnew такого файла нет. Команда

mv .profile secnew

переместит файл .profile в каталог secnew. А команда

ls -a . secnew

подтвердит выполнение команды mv.

Чтобы вернуть файл .profile в Ваш личный каталог, следует воспользоваться командой

mv secnew/.profile .

Увидеть результат позволит все та же команда

ls -a . secnew

С помощью команды mv можно переместить и несколько файлов, но опять же лишь в существующий каталог. Давайте переместим файлы hel и vrem из подкаталога secnew в Ваш личный каталог, для чего используем команду

mv secnew/hel secnew/vrem .

и проверим, что файлы перемещены

ls -a . secnew

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

Чтобы убедиться в вышесказанном введите следующие команды:

cd secnew; echo hi>hel

Вы создали файл hel в каталоге secnew.

ls . newcat; cat hel; cat newcat/hel

Вы вывели на экран списки файлов и подкаталогов каталогов secnew и newcat, а также содержимое файла hel каталога secnew и файла hel каталога newcat.

mv hel newcat; cat newcat/hel

Вы переместили файл hel из каталога secnew в каталог newcat и вывели на экран содержимое файла hel каталога newcat.

2.    Перемещение каталогов.

Страницы: 1, 2, 3, 4, 5


Новости

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

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

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.