Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

операционные системы_Жаров

.pdf
Скачиваний:
21
Добавлен:
29.05.2015
Размер:
855.71 Кб
Скачать

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

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

Помимо «жестких» ссылок в GNU/Linux часто применяются «мягкие» или символические ссылки (symbolic link), которые являются аналогами ярлыков в Windows и выполняют ту же функцию.

Для создания ссылок используется команда ln. По умолчанию создаются «жесткие» ссылки, а при указании опции -s - символические. Команда ln может использовать один из следующих форматов:

ln [опции] … [-T] целевой_объект имя_ссылки ln [опции] … целевой_объект

ln [опции] … целевой_объект … каталог ln [опции] … -t каталог целевой_объект

(1-я форма) (2-я форма) (3-я форма) (4-я форма)

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

Основные опции:

-s: создавать символьные ссылки вместо «жестких»;

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

-t: указывает каталог, в котором создается ссылка.

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

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

1 Узнать номер индексного дескриптора файла и количество жестких ссылок на него можно с помощью команды ls -li

21

ли последним элементом пути являлся каталог, или же меняется на указанное (в случае если последний компонент пути – имя файла).

Для символических ссылок команды tree и ls -l указывают после стрелки файл, на который данная ссылка указывает. Например:

symbol_link -> /home/stud/target_file

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

Задание 14:

1.Внесите в отчет информацию о назначении, формате и основных ключах команды ln.

2.Внесите в отчет информацию о назначении, формате и всех ключах ко-

манды readlink.

3.Дайте определение и внесите в отчет понятие «каноническое имя файла».

4.В каталоге links создайте «жесткую» ссылку с именем hard_link на файл text. Проанализируйте и занесите в отчет информацию о размере и inode

файлов hard_link и text.

5.В каталоге links создайте символическую ссылку с именем smb_link на файл my_name. Проанализируйте и занесите в отчет информацию о размере и inode файлов my_name и smb_link.

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

7.Проанализируйте и отобразите в отчете результаты вывода команды readlink для файла error_link в случаях:

2.11Создание текстовых файлов

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

Традиционно, в UNIX-системах используются два редактора – vi (сейчас, как правило, используется его более новая версия Vim) и Emacs. Оба эти редактора хотя и несколько сложны для освоения, но зато предоставляют значительные возможности по редактированию. Далее будут рассмотрены лишь основные приемы работы в одном из редакторов – vi.

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

22

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

После запуска, vi оказывается в командном режиме. Чтобы перейти в режим вставки необходимо ввести одну из команд:

a или i – для вставки текста до или после курсора соответственно;

A или I – для вставки текста соответственно в конце или в начале текущей линии;

o или O – для вставки текста соответственно ниже и выше текущей ли-

нии.

В режиме вставки внизу экрана будет отображаться надпись INSERT (ВСТАВКА). Для возвращения в командный режим используется клавиша Esc.

Для редактирования и перемещения по тексту могут использоваться те же стандартные клавиши (BackSpace, Delete, PageUp, PageDown, клавиши курсора), что и в других текстовых редакторах. В командном режиме для перемещения курсора можно использовать клавиши:

h – перемещение курсора на одну позицию влево; l– перемещение курсора на одну позицию вправо; j – перемещение курсора на одну позицию вниз; k – перемещение курсора на одну позицию вверх.

Данные команды предназначены для перемещения курсора. Их действие можно повторить заданное число раз, использую модификатор в виде числа перед командой. Например, команда 5l передвигает курсор на пять позиций вправо.

Помимо этих основных команд, vi предлагает еще целый их ряд для перемещения по тексту. Приведем только основные из них:

x – удаление символа под курсором; dd – удаление строки.

0 –передвинуть в начало строки; ^ –передвинуть на первое слово текущей строки; $ – передвинуть в конец строки;

G – передвинуть в конец файла; 1G - передвинуть в начало файла;

<n>G – передвинуть на строку с номером <n>; Ctrl+G –вывести номер текущей строки;

H –передвинуть на верхнюю строку экрана;

L – передвинуть на нижнюю строку экрана;

D – удалить символы от текущей позиции курсора и до конца строки.

23

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

:w <имя_файла>.

Для завершения работы с текстовым редактором можно использовать либо команду :q! - выйти без сохранения, либо wq – сохранить файл и выйти (к аналогичному результату приводит команда «ZZ»).

Задание 15:

1.С помощью текстового редактора vi, наберите текст, приведенный ниже:

#include <stdio.h> int main(void)

{

printf("Hello world!\n"); return(0);

}

2.Сохраните набранный текст в файле с именем prog.c

2.12Создание простых консольных приложений

Традиционно, для создания консольных приложений используется компилятор GCC (GNU Compiler Collection). Исходным файлом для GCC является текстовый файл, написанный на языке С и, имеющий соответствующее расши-

рение имя_файла.c

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

gcc имя_файла.c

По умолчанию, если не задано имя выходного файла, компилятор создаст в том же каталоге, в котором находится исходный файл, исполняемый файл с именем a.out.

Используя опцию -o можно при компиляции задать имя выходного файла, отличное от создаваемого по умолчанию:

gcc имя_исходного_файла.c -o имя_выходного_файла

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

Задание 16:

1. С помощью компилятора gcc, создайте исполняемый файл hello из исходного файла prog.c, разработанного в задании № 15 и запустите его на исполнение.

Каталоги /usr/bin и /usr/local/bin – системные каталоги размещения исполняемых программ. Первый из них предназначен для размещения стабильных версий программ, как правило, входящих в дистрибутив Linux, второй – для программ, устанавливаемых самим пользователем.

24

3. ОСНОВЫ РАБОТЫ С КОМАНДНЫМ ИНТЕРПРЕТАТОРОМ WINDOWS

3.1 Базовые команды интерпретатора Windows

Базовые команды для работы в операционной системе GNU/Linux, рассмотренные в предыдущих разделах, предназначены, в основном, для исполнения набора основных и наиболее часто выполняемых операций – создания каталогов, файлов, их копирования, переименования и удаления. Естественно, данные операции характерны практически для любой операционной системы, поэтому ОС семейства Windows также располагает соответствующим набором команд.

Использование режима командной строки зачастую совершенно не практикуется пользователями ОС Windows. Более того, данная операционная система сразу же загружается в графическом режиме (графические функции в Windows интегрированы в ядро ОС) и запуск чисто консольного сеанса попросту не предусмотрен. Для запуска консоли из-под графического режима пользователь должен выполнить одно из перечисленных действий:

В меню ―Пуск\Выполнить‖ набрать cmd и нажать Enter. Выбрать ―Пуск\Программы\Стандартные\Командная строка‖.

Результатом всех этих действий станет появление окна командной стро-

ки.

ОС Windows, также как и GNU/Linux, является многопользовательской системой, поэтому после загрузки командной строки вы попадаете в домашний каталог, обычно это C:\Documents and Settings\Имя пользователя.

Ниже (в таблице 2) приведен список базовых команд, выполняющих основные операции по работе с операционной системой. Учтите, что в отличие от Linux, командная строка в Windows регистро-независимая, т.е. Dir, dir или DiR это одни и те же команды.

 

Таблица 2. Базовые команды интерпретатора ОС Windows

Команда

Описание

Dir

Просмотр содержимого директории

Tree

Просмотр содержимого директории в виде дерева

Color

Изменение цвета текста и фона в окне командной строки для те-

 

кущего сеанса.

Chdir (Cd)

Вывод имени текущего каталога или переход в другую папку

Mkdir (md)

Создание каталога

Rmdir (rd)

Удаление каталога

Del (Erase)

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

Copy

Копирование одного или нескольких файлов из одного расположе-

 

ния в другое

 

25

 

Таблица 2 (продолжение)

XCopy

Копирует файлы и каталоги, включая подкаталоги

 

Move

Перемещение одного или нескольких файлов из одного каталога в

 

 

другой.

 

Rename

Изменяет имя файла или набора файлов

 

(Ren)

 

 

Replace

Замена файлов в одном каталоге файлами с теми же именами из

 

 

другого каталога. Команда replace также может быть использована

 

 

для добавления только тех файлов, которых еще нет в каталоге

 

Sort

Сортировка данных. Результат может быть выведен на экран, в

 

 

файл или на другое устройство

 

Subst

Создание виртуальных дисков

 

Edit

Создание и редактирование текстовых файлов

 

 

 

 

Задание 17:

 

1. Внесите в отчет информацию о назначении, формате и основных ключах

 

базовых команд ОС Windows.

 

 

 

3.2 Автоматизация работы с помощью пакетных файлов

Одним из основных достоинств работы с командной строкой в ОС Windows является возможность автоматизации действий путем создания пакетных файлов. Основная область применения этих файлов – автоматизация наиболее рутинных операций, таких как обработка текстовых файлов, копирование, перемещение, переименование, удаление файлов, работа с папками, архивация, создание резервных копий баз данных и т. п. Пакетный файл является аналогом cкриптовых файлов командной строки (shell script) в Unix-подобных операционных системах.

Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2, или .BTM в 4DOS или подобных оболочках. Также существуют различные компиляторы пакетных файлов, превращающие пакетные файлы в исполняемые программы.

После запуска пакетного файла, программа-интерпретатор (как правило, COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно командным интерпретатором, так и обращения к внешним утилитам, существующим в виде отдельных программ, что значительно расширяет возможности пакетных файлов.

26

Задание 17:

1.Внесите в отчет информацию о назначении, формате и основных ключах базовых команд ОС Windows.

2.Напишите пакетный файл, который выполняет следующие действия:

Отключает режим отображения на экране информации о работе команд.

Создает в рабочем каталоге папку disk и подключает к ней виртуальный диск Y:\

На диске Y:\ создает дерево каталогов, аналогичное заданию 9.

Изменяет цветовую схему командной строки для текущего сеанса: цвет текста – синий, цвет фона – серый.

Создает в каталоге links текстовый файл, хранящий отсортированный список всех директорий каталога training.

Копирует полученный файл из каталога links в каталог my_files.

Отобразит содержимое рабочего каталога в виде дерева.

Завершение работы скрипта должно заканчиваться только после нажатия любой клавиши.

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

27

ЗАКЛЮЧЕНИЕ

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

Следует отметить, что на сегодняшний день используется значительное количество дистрибутивов ОС GNU/Linux, в каждом из которых есть свои особенности и нюансы, да и различные версии Windows пополняются от версии к версии новыми возможностями. В рамках данной работы Вы знакомились лишь с командными интерпретаторами Windows XP и GNU/Linux Mandriva, однако изученные команды, как правило, входят и в другие дистрибутивы.

Желаем Вам успешно использовать полученные знания в своей профессиональной деятельности.

СПИСОК ЛИТЕРАТУРЫ

Обязательная литература

1.Олифер Виктор Григорьевич Сетевые операционные системы. *Книга/

Олифер В. Г., Олифер Н. А. - СПб. : Питер, 2003, 2005, 2007. - 539 с. : ил.

- (Учебник для вузов). - ISBN 5-272-00120-6 : 122,00. (50 экз.)

Рекомендуемая литература

2.LinuxCenter.ru — Режим доступа: http://www.linuxcenter.ru/, свободный.

— Электрон. дан. — [б. м.] — Загл. с домашней страницы Интернета. — Корректируется часто. — Яз. рус.

3.Колисниченко Денис Николаевич Linux. От новичка к профессионалу

(+ DVD) *Книга+ / Колисниченко Д. Н. – СПб.: БХВ-Петербург, 2011 г.,

640 с.

4.Mandriva Linux. Полное руководство пользователя/ СПб.:БХВПетербург, 2008 г., 672 с.

5.Станек Уильям Р. Командная строка Microsoft Windows. *Книга+ : справочник администратора /У. Станек. – Русская Редакция, 2009 г., 480 c.

28

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ .............................................................................................

3

УСЛОВНЫЕ ОБОЗНАЧЕНИЯ..................................................................

3

1. ПОЧЕМУ ВАЖНО ЗНАТЬ, КАК ПОЛЬЗОВАТЬСЯ РЕСУРСАМИ

 

КОМАНДНОЙ СТРОКИ..........................................................................

4

2. ОСНОВЫ РАБОТЫ С КОМАНДНЫМ ИНТЕРПРЕТАТОРОМ LINUX..

5

2.1

Начало работы с системой ............................................................

5

2.2

Получение базовой информации о пользователях ....................

6

2.3

Получение справочной информации...........................................

8

2.4

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

9

2.5

Создание и удаление каталогов .................................................

13

2.6

Создание и удаление файлов .....................................................

15

2.7

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

17

2.8 Разбиение файлов большого объема ........................................

17

2.9

Архивирование файлов ...............................................................

18

2.10 Мягкие и жесткие ссылки..........................................................

20

2.11 Создание текстовых файлов......................................................

22

2.12 Создание простых консольных приложений ..........................

24

3. ОСНОВЫ РАБОТЫ С КОМАНДНЫМ ИНТЕРПРЕТАТОРОМ

 

WINDOWS............................................................................................

25

3.1

Базовые команды интерпретатора Windows ............................

25

3.2

Автоматизация работы с помощью пакетных файлов..............

26

ЗАКЛЮЧЕНИЕ......................................................................................

28

СПИСОК ЛИТЕРАТУРЫ.......................................................................

28

СОДЕРЖАНИЕ .....................................................................................

29

 

29