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

ОС Лабы / Laboratornaya_rabota_4

.doc
Скачиваний:
31
Добавлен:
20.03.2016
Размер:
56.32 Кб
Скачать

Лабораторная работа № 4

Введение в операционную систему Linux

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

Теоретическая часть

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

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

Важной составной частью LINUX является файловая система. Она имеет иерархическую структуру, образующую дерево каталогов и файлов. Корневой каталог обозначается символом "/", путь по дереву каталогов состоит из имен каталогов, разделенных символом "/", например: /usr/include/sys

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

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

Обращение к файлу происходит по имени. В качестве символов следует использовать цифры, буквы латинского алфавита и символ ‘_’. Локальное имя файла хранится в соответствующем каталоге. Путь к файлу от корневого каталога называется полным именем файла. Если обращение к файлу начинается с символа "/", то считается, что указано полное имя файла и его поиск начинается с корневого каталога, в любом другом случае поиск файла начинается с текущего каталога.

У любого файла может быть несколько имен. Фактически, имя файла является ссылкой на файл, специфицированный номером описателя.

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

Справочные команды

date – показать дату и время;

df – показать, сколько свободного пространства осталось на дисках;

cal – показать календарь;

tty – идентифицировать рабочую станцию;

echo – отображать текст на экране;

man – получение справочной информации;

sort – сортировать по строкам;

ls – выдать список файлов в текущем каталоге;

cd [каталог] – сменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя;

cp <что_копировать> <куда_копировать> – копировать файлы;

mv <что_перемещать> <куда_перемещать> – переместить или переименовать файл;

ln –s <на_что_сделать_ссылку> <имя_ссылки> – создать символическую ссылку;

rm <файлы> – удалить файлы;

mkdir <каталог> – создать новый каталог;

rmdir <каталог> – удалить пустой каталог;

cat <имя_файла> – вывод содержимого файла на стандартный вывод

(по умолчанию – на экран). Можно записать вводимый на экран текст с помощью следующей последовательности действий:

cat ><имя_файла>

{Записываемая информация}

CTRL/d

pwd –вывести имя текущего каталога;

whoami – вывести имя, под которым Вы зарегистрированы;

uptime – количество времени, прошедшего с последней перезагрузки операционной системы;

ps a – вывести список текущих процессов в Вашем сеансе работы;

uname -a– вывести информацию о версии операционной системы;

free – вывести информацию по использованию памяти;

df -h – вывести информацию о свободном и используемом месте на дисках.

Примеры:

# man [имя команды]

# who

petr tty4i Mar 11 18:46

ann tty12 Mar 11 16:29

Выводится имя пользователя, номер терминала, дата и время начала работы этого пользователя.

Перенаправление потоков

В ОС LINUX существует три стандартных потока: поток ввода, поток вывода и поток стандартного протокола (поток ошибок).

Стандартный ввод (STDIN) – это просто то место, откуда система ожидает получение данных.

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

Аналогично, стандартный вывод (STDOUT) – то место, которое подразумевается операционной системой для вывода информации, обычно – экран монитора. Можно так же перенаправить вывод, STDOUT, по усмотрению любой команды или командного сценария. Цепочка событий от STDIN до STDOUT выглядит примерно так:

стандартный ввод STDIN  команда Linux  стандартный вывод STDOUT

STDIN часто упоминается как fd0, или дескриптор 0, STDOUT упоминается как fdl.

Есть также стандартное устройство вывода ошибок (STDERR), которому система сообщает о любых ошибках в выполнении программ или командного сценария. Стандартно – это также терминал.

Существуют всего четыре символа перенаправления стандартного ввода/вывода:

  • cимвол > используется для перенаправления стандартного вывода команды в файл. Например, cat > file запишет выводимую командой cat информацию в файл file.

  • Символ < используется для переназначения стандартного ввода команды. Например, при выполнении команды cat < file в качестве стандартного ввода cat ис­пользуется не клавиатура, а файл file.

  • Символ >> используется для дописывания стандартного вывода команды в конец существующего файла. Например, cat >> file допишет выводимую командой cat информацию в конец файла file.

  • Символ | является символом потока. Он используется, когда вы хотите передать стандартный вывод одной команды на стандартный ввод другой.

Примеры:

cat > filename – перенаправление вывода в файл filename (если этот файл существует, то его прежнее содержимое будет утеряно);

cat >> filename – добавить содержимое вывода к содержимому файла filename;

cat < filename – сформировать стандартный ввод из содержимого файла filename.

cat /home/qqq/Desktop/file_1 | wc –w > /home/qqq/Desktop/num_names – содержимое файла file_1 передается в распоряжение команды wc –w (счетчик слов), которая выводит количество слов в файл num_names, находящийся на рабочем столе (/home/qqq/Desktop/).

ls | wc -l

Те же действия можно организовать так:

ls > buffer

wc -l < buffer

rm –f buffer

Команда ls выводит в файл buffer список файлов текущего каталога, а команда wc -l считает количество строк в этом файле, команда rmf buffer удаляет файл с именем buffer.

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

Сетевые сервисы

Поскольку зарождалась и развивалась Linux из Интернета, было бы удивительно, если представитель семейства UNIX не предоставлял всей полноты интернет-сервисов. Что интересует пользователя в Интернете? На первый, поверхностный, взгляд Web-сайты, FTP, электронная почта и новости.

Но для нормального (и комфортного) функционирования Интернета необходимо множество других сервисов – это и DNS, и прокси-серверы, и серверы точного времени и многое другое.

Все это для Linux есть, и не в единственном экземпляре, нужно только выбрать, какой "тяжести" инструмент необходим. Сказанное касается и серверного программного обеспечения, и клиентского. Так, например, Web-браузеров существует более десяти: Lynx – текстовый браузер, Netscape Navigator, Mozilla, Opera, Konqueror и др.

Почтовых клиентов также существует несколько десятков, как текстовых, так и графических: Pine, Mozilla Mail или теперь Thunderbird, Kmail, Evolution, Sylpheed, Balsa.

Можно рассматривать любой интернет-сервис, и всегда в списке клиентских приложений для этого сервиса войдет не менее десятка программ. Если необходим файл-сервер – тоже есть большой выбор.

Можно пользоваться "родным" NFS, можно Mars – файл-сервером для сетей Netware, можно Samba – файл-сервером для сетей Microsoft.

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

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

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

Настройку множества сервисов можно произвести или с помощью специальных программ, например, linuxconf, Webmin, или отредактировав конфигурационные файлы.

У большинства сервисов есть еще одна возможность – настройка через Web-интерфейс.

4

Соседние файлы в папке ОС Лабы