Задание 1: Переменные и чтение
export GREETING=Hello
export NAME=Linux
echo $GREETING $NAME
Вывод:
Hello Linux
unset GREETING
echo $GREETING
Вывод: (пустая строка)
Задание 2: PATH
echo $PATH
export PATH=/opt/mytools:$PATH
echo $PATH
which grep
Вывод:
/opt/mytools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
/bin/grep
Задание 3: Просмотр переменных через env
export MY_TEST=check
env | grep MY_TEST
env | wc -l
Вывод:
MY_TEST=check
23
Количество строк зависит от конкретного сервера и сессии.
Задание 4: Управление процессами
Шаги с объяснением каждой части конвейера:
Шаг 1: Найти ssh-процессы
ps -ef | grep ssh | grep -v grep
Что делает каждая часть:
ps -ef— список всех процессов| grep ssh— оставить только строки со словом «ssh»| grep -v grep— исключить строку с самим запросом grep
Почему нужен
Когда вы выполняете
grep -v grep?Когда вы выполняете
ps -ef | grep ssh, в списке процессов виден и сам запущенный grep ssh. Без grep -v grep в результатах будет лишняя строка, которая может ввести в заблуждение (особенно при подсчёте wc -l).
Шаг 2: Взять PID и завершить процесс
# Пример вывода ps -ef | grep ssh | grep -v grep:
# ec2-user 456 123 0 10:05 ? 00:00:00 sshd: ec2-user@pts/0
# Второй столбец — PID (здесь 456)
kill 456
После
Если процесс завис — используйте
kill проверьте: ps -ef | grep ssh | grep -v grep.Если процесс завис — используйте
kill -9 456.
Задание 5: Ресурсы системы
free -m
free -m | grep Mem | awk '{print $2}'
df -h
cat /etc/os-release
Пояснение конвейера free:
free -m выводит несколько строк; grep Mem берёт только строку с «Mem:»; awk '{print $2}' печатает второй столбец (total).
Важные детали (из источника)
Скрытые файлы
Файлы, начинающиеся с точки (.), являются скрытыми и не видны при обычном ls. Для просмотра скрытых файлов:
ls -la
В домашнем задании урока 10 нужно создать скрытый файл .process_management — с точкой в начале!
grep -v grep — обязательный приём
При подсчёте процессов через конвейер ВСЕГДА добавляйте grep -v grep:
# Неправильно — grep сам попадёт в список
ps -ef | grep root | wc -l
# Правильно — исключаем сам процесс grep
ps -ef | grep root | grep -v grep | wc -l