- •Оглавление
- •Введение
- •Лабораторная работа 1 Операционная система Linux в графическом режиме
- •1.1. Изучим элементы рабочего стола gnome
- •1.2. Познакомимся с авторами интегрированной среды gnome и других программ
- •1.3. Создадим панель и изучим порядок изменения ее свойств
- •1.4. Освоим порядок изменения свойств программы Наутилус
- •1.5. Изучим управление свойствами окна в графической среде gnome
- •1.6. Сохраним в виде графического файла содержимое экрана
- •1.7. Освоим программу создания архивов в графическом режиме
- •1.8. Используем простой текстовый редактор для подготовки командного файла – сценария
- •1.9. Изучим действия, позволяющие ассоциировать документ с приложением
- •Лабораторная работа 2 Основы использования командной строки
- •2.1. Выполним первые действия в командном режиме
- •2.2. Изучим команды, сообщающие информацию о программно-аппаратном комплексе компьютера
- •2.3. Познакомимся с командой echo, и переменными оболочки
- •2.4. Изучим систему помощи в командном режиме семейства unix/Linux
- •2.5. Изучим, что такое команда
- •2.5.1. Рассмотрим типы и количество команд
- •2.5.2. Рассмотрим параметры командной строки
- •2.5.3. Рассмотрим использование нескольких опций одной команды
- •2.6. Рассмотрим использование специальных символов оболочки
- •2.7. Изучим историю набранных команд и средства редактирования командной строки
- •2.8. Рассмотрим простейшее использование текстового редактора VI
- •VI file_one
- •2.9. Ознакомимся с основами работы с программой Midnight Commander
- •Лабораторная работа 3 файловая система
- •3.1. Изучим иерархическую файловую систему
- •3.2. Рассмотрим права доступа к файлам
- •3.3. Рассмотрим типы файлов
- •3.4. Рассмотрим примеры файлов разного типа
- •3.5. Рассмотрим команды работы с каталогами
- •3.5.1. Научимся создавать каталоги
- •VI script3
- •VI script4
- •3.5.2. Научимся удалять каталоги
- •3.5.3. Научимся копировать и перемещать файлы и каталоги
- •3.5.4. Изучим возможность выполнять разные операции над каталогами с разными правами доступа
- •3.6. Рассмотрим использование ссылочных файлов
- •3.7. Изучим понятие таблицы иноде (inode)
- •3.8. Расширим понимание и умение использовать команды less и more
- •3.9. Рассмотрим сортировку содержимого файлов
- •3.10. Познакомимся с командой grep
- •3.11. Познакомимся с командой diff
- •3.12. Познакомимся с командой find
- •1) Find / -name echo
- •4.1. Рассмотрим классификацию процессов Linux
- •4.2. Изучим команды получения информации о загруженности системы и активных пользователях
- •VI working
- •4.3. Познакомимся с командами top и ps
- •Vim topfile
- •4.4. Рассмотрим работу в фоновом режиме
- •4.5. Рассмотрим управление приоритетами процессов
- •4.6. Изучим простые возможности обмена информацией между пользователями
- •4.7. Рассмотрим средства управление ресурсами пользователя
- •Лабораторная работа 5 Сценарии в операционной системе Linux
- •If условие
- •If условие
- •If условие
- •Библиографический список
1) Find / -name echo
2) find / -name fg
3) find / -name fstab
4) find / -name clear
5) find / -name passwd
Проанализируйте, какие из них имеют исполнимые файлы. Для ответа на этот вопрос примените утилиту file к каждому из файлов – результатов выполнения команды find.
Команда find имеет еще много опций, позволяющих выбирать файлы по времени их создания или изменения, размеру, принадлежности пользователю, группе и другим свойствам.
Лабораторная работа 4
Процессы и пользователи в Linux
Процесс является важнейшим понятием, связанным с операционными системами. С точки зрения пользователя – это запущенные программы, которые содержат машинные команды, выполняемые центральным процессором. Но в действительности процессы характеризуются не только совокупностью машинных команд файла программы, которые последовательно исполняются на компьютере. Каждому процессу при создании назначается идентификационный номер. По этому номеру система находит всю информацию о процессе. Прежде всего, это время использования центрального процессора и адреса выделенной ему памяти, а также то, какое внешнее оборудование и файлы «назначены» ему. Кроме того, активные программы постоянно изменяют свое состояние. Примерами последних являются, исполнение или ожидание. Работая, процесс может выполнять машинные команды, не принадлежащие файлу программы, например являющиеся частью ядра. В это время процесс, обращаясь к низкоуровневым системным услугам, находится в режиме ядра, тогда как в другие моменты – это режим задачи. То, в каком состоянии находиться процесс, также является связанным с ним данным (его атрибуты). Операционная система обеспечивает выполнение нескольких процессов одновременно, выделяя каждому требуемые ресурсы по очереди. Для ее поддержания создается динамически изменяемая система приоритетов. Последние так же характеризуют рассматриваемое понятие. Вся совокупность данных о каждом процессе сохраняется и постоянно изменяется операционной системой.
То, какие данные о процессах хранятся и изменяются в системе можно узнать из многих источников. Например, по адресу http://www.informit.com/articles/article.asp?p=370047&rl=1 представлена информация о том что представляют собой «…структуры данных, системные вызовы, связанные с управлением процессами…» для ядра Linux версии 2.6.
Ранее мы упоминали о том, что существует специальная файловая система, представленная каталогом /proc. Добавим, что для каждого процесса создается подкаталог с именем, совпадающим с присвоенным ему номером. В таком подкаталоге располагается несколько файлов. К примеру, в подкаталоге /proc/1 процесса init (всегда имеющего первый номер) находятся, среди прочих, такие файлы: exe и root. Первый из них указывает на имя исполнимого файла, породившего процесс (/sbin/init), а второй – на корень файловой системы (/ root directory).
4.1. Рассмотрим классификацию процессов Linux
Любая версия из семейства UNIX/Linux поддерживает выполнение процессов нескольких типов. Прежде всего, это такие, которым соответствуют программы, запускаемые пользователем в обычном режиме из командной строки или с использованием элементов графического интерфейса, как это выполнялось в предыдущих лабораторных работах. Назовем их интерактивные процессы пользователя. Но при загрузке первыми запускаются системные. Именно от них зависит работоспособность вычислительной установки, ее функциональность. Среди системных процессов сначала выделим запускаемые ядром. Команда ps, как было сказано в лабораторной работе 2, выводит имени процессов, которые порождены ядром, заключенные в квадратные скобки. Поэтому, выполнив такую команду (она уже приводилась в работе 2)
ps -ef | grep “\[“
получаем их список.
Продолжим классификацию процессов. В системе существуют еще один тип системных процессов, называемых демоны (daemon). После запуска они находятся в режиме ожидания, пока не потребуются их «услуги». К примеру, если в системе организован обмен файлами по протоколу ftp или компьютер является Web-узлом, такие потребности не надо обеспечивать постоянно. На компьютере запускаются демоны, которые регулярно проверяют систему на наличие потребности в таких услугах и обеспечивают их по мере необходимости.
Демоны в UNIX появились давно. По мере увеличения возможностей этих операционных систем количество демонов, постоянно запущенных в системе, возрастало. Сотрудники университета Беркли разработали inetd – демон, отвечающий за запуск других демонов. В его имени последней буквой является d, что часто встречается для программ такого типа.
Приведем пример запуска двух демонов nmbd и smbd системы Самба (samba), являющейся средством совместной работы в сети компьютеров с разными операционными системами. Этот пример является частью инициализационного скрипта и представляет собой один из элементов оператора множественного выбора (case). Уже в следующей лабораторной работе он рассматривается более подробно.
case "$1" in
start)
echo -n "Starting SMB services: "
daemon smbd -D
daemon nmbd -D
Как видим, демоны могут запускаться специальным образом, когда перед их именем указывается daemon.
Есть еще одна группа процессов, называемых пакетные. Процессы этой группы отличаются от остальных, тем, что они запускают в определенное время. Перечислим несколько команд (системных утилит), порождающих процессы такого типа
1) at – запуск команды в определенное время.
2) batch представляет собой попытку не диктовать жестко время отложенного запуска программы. В этом случае системе запускает задачи из списка batch, когда наступает момент небольшой загрузки системы.
Команды at и batch – одноразовые.
3) cron – это средство регулярного запуска программ по расписанию.