Новые команды этого урока
Summary-сессия: новых команд нет
Занятие 11 — урок-повторение. Все команды были изучены в занятии 10. Ниже повторяем ранее изученные команды блока «Переменные и процессы».
Занятие 11 — урок-повторение. Все команды были изучены в занятии 10. Ниже повторяем ранее изученные команды блока «Переменные и процессы».
Ранее изученные команды (используются на уроке)
env
Вывести все переменные окружения текущей сессии. Без аргументов — полный список; с командой — запустить её в изменённом окружении.
env
env | grep MY_VAR
export
Объявить переменную и экспортировать её в дочерние процессы.
export MY_VAR=hello
export PATH=/opt/mybin:$PATH
free
Отобразить объём оперативной и swap-памяти.
free -m # в мегабайтах
free -h # в читаемом формате
ps
Снимок состояния процессов. Не обновляется в реальном времени.
ps -ef # все процессы, полный формат
ps -ef | grep ssh | grep -v grep # найти ssh-процессы (без самого grep)
ps -ef | grep ssh | grep -v grep | wc -l # посчитать
top
Интерактивная таблица процессов в реальном времени. q — выход.
top
# В заголовке: load average: 0.10, 0.12, 0.08
# (средняя нагрузка за 1, 5 и 15 минут)
kill
Отправить сигнал процессу по PID.
kill PID # SIGTERM — мягкое завершение
kill -9 PID # SIGKILL — немедленное завершение
grep
Поиск строк по шаблону. В связке с ps — фильтрация процессов.
grep -i Error /var/log/messages # без учёта регистра
grep -v grep # исключить строки со словом grep
ps -ef | grep ssh | grep -v grep
wc
Подсчёт строк, слов, символов.
wc -l file.txt # количество строк
ps -ef | grep ssh | grep -v grep | wc -l
echo
Вывод текста или значения переменной. Всегда используйте $ перед именем переменной.
echo $PATH # вывести значение PATH
echo PATH # выведет текст «PATH» — частая ошибка!
awk
Обработка текста по полям. Используется для извлечения PID/PPID из вывода ps.
ps -ef | grep '[s]shd -D' | awk '{print "PID", $2, "PPID", $3}'
free -m | grep Mem | awk '{print $2}' # объём ОЗУ
date
Вывод текущей даты и времени. Активно используется в ДЗ 6 для записи метки в файл.
date
date >> /opt/GROUP/NAME/.process_management