📖 Теория

К оглавлению урока

⚡ Кратко: повторение Lecture 6

  • Переменные — именованная область памяти. Системные переменные (ПРОПИСНЫЕ) определяют поведение системы.
  • PATH — список каталогов через :, ОС ищет слева направо. Добавить: export PATH=/opt/mybin:$PATH
  • export VAR=value — объявить переменную; echo $VAR — прочитать (обязательно $).
  • env — все переменные сессии; unset VAR — удалить.
  • top — живой мониторинг (load average: 1/5/15 мин, PID, PPID).
  • ps -ef — снимок всех процессов; ps aux — альтернатива.
  • kill PID — SIGTERM (мягкое завершение); kill -9 PID — SIGKILL (немедленно).
  • free -m — ОЗУ в МБ; df -h — диск в читаемом формате.

Переменные окружения

Переменная — поименованная область памяти. Системные переменные определяют поведение системы и оболочки: где искать программы, какой язык использовать, как выглядит приглашение командной строки. Принято писать имена системных переменных ПРОПИСНЫМИ буквами — это соглашение, не требование языка.

Ключевые системные переменные:

  • PATH — где искать исполняемые файлы
  • HOME — домашняя директория текущего пользователя
  • LANG / LC_* — локализация и кодировка
  • PS1 — формат приглашения командной строки (то, что вы видите перед курсором)
  • TERM — тип терминала
  • SHLVL — уровень вложенности оболочки

Переменная PATH

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

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Добавить свой каталог (в ~/.bashrc или ~/.bash_profile):

export PATH=/opt/mybin:$PATH

Ставьте новый каталог в начало PATH (до :$PATH), если хотите, чтобы ваши программы имели приоритет над системными.

Работа с переменными

env — вывести все переменные окружения текущей сессии. Полезно для отладки: видите точно, что видит любая запущенная программа.

Объявление переменной:

export MY_VAR=hello
export var=world
echo $MY_VAR $var
# вывод: hello world

Значение читается через $. Без $ — просто текст. echo PATH выведет текст «PATH», а не значение переменной.

unset VAR — удалить переменную из окружения сессии.

Управление процессами

top — интерактивная таблица процессов в реальном времени. В заголовке — три числа load average: средняя нагрузка за 1, 5 и 15 минут. Каждый процесс имеет уникальный PID (Process ID) и ссылается на родителя через PPID (Parent PID). Выйти: q.

ps — снимок состояния процессов. Не обновляется в реальном времени, в отличие от top.

ps -ef      # все процессы, полный формат (UID PID PPID ...)
ps aux      # все процессы, расширенный формат BSD

kill — отправить сигнал процессу по PID:

  • kill PID — SIGTERM (15): попросить процесс завершиться корректно
  • kill -9 PID — SIGKILL: немедленное завершение без возможности cleanup (крайняя мера)
  • kill -2 PID — SIGINT: аналог Ctrl+C

free -m — объём оперативной памяти в МБ. Столбец available — реальная доступная память (включает кэш, который ОС готова отдать).

Подробнее обо всём этом: ← Занятие 10: Переменные. Системные переменные