Основные принципы работы в Linux

Министерство образования и наук

Российской Федерации.

Государственное образовательное учреждение

Высшего профессионального образования.

Тольяттинский государственный университет.







Факультет: математика и информатика

Кафедра: информатика и вычислительная техника

Специальность: прикладная информатика







Реферат на тему:

«Основные принципы работы в Linux»









Выполнил: 

студент гр. ПИб-101

Зверева А. М.



Научный руководитель: 

к. п. н. доцент И и ВТ

Гущина О. М.





Тольятти, 2011.

Операционная система Linux является достойным аналогом Windows. Если Вы до этого не работали в ее среде, то следует учесть несколько нюансов, свойственных только ей. 

Во время выполнения процедуры регистрации в операционной системе Linux, она автоматически производит следующие операции:

• начинается процесс стандартно с проверки логина пользователя и пароля;

• затем определяется вся палитра набора, состоящего из переменных окружения;

• завершает этот процесс запуск интерпретатора команд. Именно он и именуется оболочкой операционной системы.

Основная масса дистрибутивов Linux по умолчанию использует два типа оболочек:

• sh;

• bash. 

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

Команда в операционной системе Linux является строкой символов. Она состоит из имени команды и необходимых аргументов, которые разделяются пробелами. Аргументы позволяют команде использовать добавочные параметры, диктующие характер ее поведения. Для примера приведем стандартную команду: 

echo 12345

На экране возникнет цепочка символов 12345, которые являются аргументом данной команды.

Команды, которые входят в состав собственно оболочки, определяются как встроенные. Они бывают:

• общие;

• специфические.

Общие свойственны любой ОС. Специфические не будут работать в рамках не родной ОС.

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

ls -l

Ключи позволяют объединять различные аргументы. В итоге вы получите идентичные команды: 

ls -l -d

ls -ld

Работа в командной строке Linux требует неукоснительного соблюдения ряда правил, которые актуальны лишь в информационной среде этой операционной системы:

• строчные и заглавные буквы для Linux - это разные символы. В Windows каталог TEMP и каталог Temp – то же самое, в Linux – нет. Это правила справедливо для всего: команд, их ключей, имен пользователей, паролей и т.п. Консольные команды: 

ps -a 

и 

ps -A

выдадут вам разные результаты;

• введя в командной строке ключ –help Вы сможете получить справку по большинству команд:

1. ps –help: выдаст вам справку по команде ps, именно она владеет полной информацией и работает с полным списком запущенных Вами процессов; 

2. встроенная система для получения справок man – предоставит дополнительную справку; 

3. man ps - выведет на экране полную информацию по команде ps;

• не забывайте, что результат отдельных программ напрямую зависит от ваших прав в рамках ОС. Команда su ответственна в операционной системе прав root используйте. Она отвечает за смену пользователя в текущем сеансе работы с ОС. Если пользователь не задан, то автоматом выбирается root.

Для всех пользователей ОС Linux большую помощь окажет файловый менеджер mc. Это аналог FAR или Norton Commander. В настоящее время этот полезный модуль есть во всех дистрибутивах Linux. Есть одно но: установка его по умолчанию есть не везде. Он поможет Вам решить многие периодически возникающие проблемы. 

Вывод информации на экран в ОС Linux, также имеет свои особенности. Рассмотрим основные:

• если текст ушел за пределы экрана, то исправить положение легко с помощью комбинации клавиш SHIFT и PAGE UP или PAGE DOWN;

• если требуется приостановить вывод информации на экран – CTRL-S;

• если требуется приостановки отмена – CTRL-Q; 

• если Вам требуется вывести большой объем текста в постраничном режиме, то используйте команду less, которую добавляют к основной командой:

у нас в наличие текстовый файл mytxt размером на 12 экранов. Для стандартного вывода текста на экран можно воспользоваться командой cat < имя файла>

cat mytxt 

После выполнения этой команды вы увидите быстро промелькнувший текст и 

последний (двенадцатый) экран вывода. Можно применить комбинации клавиш 

SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но можно

воспользоваться и less. Получим цепочку:

cat mytxt | less

• Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less. После отображения на экране первой страницы текста, вывод будет приостановлен до нажатия PAGE DOWN или ENTER. Последняя комбинация приведет к постраничному перемещению;

• клавиша Q Для отвечает за завершение постраничного вывода.

Linux позволяет формировать цепочки из нескольких команд. Если нужно вывести на экран в постраничном режиме все строки, содержащие слово mail. Для поиска можно воспользоваться командой 

grep <строка поиска> 

Получим союз из трех команд:

cat mytxt | grep mail | less 

Многие дистрибутивы ОС Linux позволяют вместо less применять more. 

Если Вам необходимо использовать одновременно несколько дистрибутивов, то существуют закрепленные для переключения комбинации клавиш: CTRL - ALT - F1...F6. Чтобы перейти в графическую оболочку смело жмите CTRL-ALT-F7.

Если требуется запустить второй графический сервер в ОС Linux на одном компьютере примените команду startx 1 -- :1. 

За переход во второй графический терминал отвечает комбинация Alt+F8., а Alt+F7 возвращает в первый. Linux позволяет работать за раз с до 64 графических терминалов (startx 2 -- :2 и т. д.).

exit завершенит текущий сеанс работы с терминалом. 

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

Используется следующую команду: 

script < имя файла журнала > 

exit прекратит запись в журнале. 

Если Вам необходимо выключить или перезагрузить Ваш компьютер в ОС Linux, то сделать эту процедуру можно по-разному:

• shutdown: она может похвалиться широкой палитрой опций, что позволяет Вам сделать:

1. быструю перезагрузку без проверки файловой системы;

2. процедуру перезагрузки в требуемое время;

3. имитировать и отменять уже запущенный или ранее отложенный процесс перезагрузки;

• shutdown --help выведет весь список возможностей; 

• restart приведет к перезагрузке ОС сразу же:

• shutdown -r now;

• halt – выключение питания:

shutdown -h now.

Для основной массы дистрибутивов существует целый ряд короткие команды:

• reboot – перезагрузка;

• halt – выключение;

• init – изменяет текущий уровень запуска ОС командой, отвечающей за запуск и завершение процессов в Linux; для тех же целей разработаны и специальные скрипты. Они хранятся в /etc/inittab. Уровень 0 – обеспечит выключение, а уровень 6 – перезагрузку. Соответственно: 

для выключения:

init 0;

для перезагрузки:

init 6;

init используется и для изменения уровня запуска ОС. Рассмотрим уровни более детально: 

1 – однопользовательский режим. Доступ разрешен пользователю root;

2 –многопользовательский режим без поддержки сетевых функций;

3 – с поддержкой сети;

4 – зарезервировано;

5 – с использованием графической оболочки.

init 3 позволит завершить действие графической оболочки. В итоге она закроется и система перейдет на уровень запуска 3. Для возврата нужно ввести:

init 5

По умолчанию уровень запуска определяется initdefault из /etc/inittab. Для запуска системы в случае необходимости поддержки графической оболочки применяйте команду:

id:5:initdefault:

Если 5 заменить на 3, то графическая оболочка при старте системы не запустится. Никогда не устанавливайте уровень запуска системы по умолчанию со значениями от 0 до 6.

В ОС Linux доступен просмотр списка задач с помощью команды ps. Без уточняющих параметров она отобразит список процессов, запущенных во время текущего сеанса работы. ps --help стандартно выдаст полный список опций. 

Пример:

Cписок всех процессов, запущенных в системе:

ps -A - выдаст список процессов с идентификаторами (PID) и их именами

или:

ps -ax - выдаст тот же список процессов, но с полной строкой запуска

список задач, порожденных пользователем user:

ps -U user

список задач, связанных с текущим терминалом:

ps T

список задач, связанных с терминалом N:

ps t ttyN

Если список задач большой, а нас интересует состояние одной или нескольких задач, можно воспользоваться grep:

ps -U root | grep ppp - выдать список задач, содержащих &quotppp" в имени

top отображает на экране данные об использовании ресурсов компьютера.























Верхняя часть окна сообщит Вам итоговые данные о состоянии системы:

• текущее время;

• время с момента загрузки системы;

• число пользователей в системе;

• число процессов в условиях разных состояниях;

• данные об использовании памяти и процессора. 

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

s или d - изменить интервалл обновления окна.

z - цветное/черно-белое отображение

n или # - количество отображаемых процессов

Можно отсортировать список процессов по использованию процессора (P), памяти (M), времени выполнения (T) и т.п.

Однако, есть и более полезные команды, которые позволяют управлять процессами в интерактивном режиме:

k - снять (kill) задачу. По этой команде будет запрошен идентификатор процесса (PID), после ввода которого, процесс будет завершен.

r - изменить текущий приоритет задачи (renice). Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение приоритета (отображается в колонке NI). Диапазон значений приоритетов - от минус 20 (наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только пользователь root.

Для выхода из top нажмите q 

Команда kill

Принудительное завершение процесса и изменение его приоритета можно выполнить и без команды top.

Процессы в Linux позволяют обмениваться "сигналами" с ядром и другими процессами. При получении сигнала процессом, управление запускает подпрограмму для его обработки. Если ее нет, то или ядру. Linux оперирует специальной командой kill. Именно она делает возможной опцию послать заданному процессу любой сигнал. Список сигналов можно получить по команде:

kill -l

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

kill <-номерсигнала> номер PID выбранного процесса

Например, нам нужно завершить работу приложения Midnight Commander (mc).

Определим идентификатор процесса mc:

ps -A | grep mc

Пусть PID= 11597. 

Посылаем сигнал SIGQUIT (номер 3):

kill -3 11597

После чего процесс mc обработает сигнал GIGQUIT и нормально завершится. Однако, если mc "завис", то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:

kill -9 11597

Если в команде kill номер сигнала не указан, то тогда используется SIGKILL, предыдущую команду можно было ввести как kill PID:

kill 11597

Завершение процесса прерывает и запущенные в нем процессы.

Для завершения процесса по имени используется команда killall:

• killall mc - завершить процесс, в имени которого есть &quotmc";

• killall -u user - завершить процессы, порожденные пользователем user.

Команды nice и renice измененяют приоритет процессов. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки shell. Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:

nice -<число> команда 

nice -4 mc - запустит mc с приоритетом = 8+4=12

Команда renice используется для изменения приоритета уже запущенного процесса:

renice <число> -p PID 

renice 4 -p 11597 - установить значение приоритета для процесса mc (PID=11597) равным 4.

После выполнения, renice выдаст строку результата:

11597: old priority 12, new priority 4 - старый приоритет 12, новый приоритет 4

Задание нулевого и отрицательного числа приоритета допустимо лишь для пользователя с правами root.