Ошибка 1: echo PATH без знака $
Симптом: команда выводит текст «PATH» вместо значения переменной.
# Неправильно:
echo PATH
# вывод: PATH ← просто текст!
# Правильно:
echo $PATH
# вывод: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Почему: без знака $ оболочка передаёт аргумент как строку, а не раскрывает переменную. Это правило распространяется на все переменные: echo HOME → «HOME»; echo $HOME → /home/user.
$ обязателен при чтении значения переменной.
Ошибка 2: Забыть grep -v grep
Симптом: счётчик процессов завышен на 1 (или результат содержит лишнюю строку).
# Неправильно — сам grep ssh виден в ps как процесс:
ps -ef | grep ssh | wc -l
# вывод: 4 ← одна лишняя строка (сам grep)
# Правильно — исключаем строку с grep:
ps -ef | grep ssh | grep -v grep | wc -l
# вывод: 3 ← только реальные ssh-процессы
Почему: когда вы запускаете grep ssh, этот процесс сам появляется в таблице ps и содержит слово «ssh» в аргументах командной строки. grep -v grep удаляет любую строку, содержащую слово «grep».
Альтернатива: использовать символьный класс в шаблоне — grep '[s]sh'. Шаблон [s]sh совпадает с «ssh», но сам grep [s]sh в своих аргументах содержит строку [s]sh, которая НЕ совпадает с буквальным «ssh».
Ошибка 3: Скрытый файл не начинается с точки
Симптом: файл создан как process_management (без точки) — это обычный файл, не скрытый.
# Неправильно:
touch /opt/GROUP/NAME/process_management
# Правильно — скрытый файл начинается с точки:
touch /opt/GROUP/NAME/.process_management
# Обычный ls не показывает скрытые файлы:
ls /opt/GROUP/NAME/ # пусто или не видно
# ls -la показывает все файлы, включая скрытые:
ls -la /opt/GROUP/NAME/
# ... .process_management ...
Почему: в Linux любой файл или директория, имя которых начинается с точки ., считается скрытым. Команда ls без флагов их не показывает. Для просмотра нужен флаг -a (all) или -la.
Ошибка 4: Путают команду входа на сервер
Симптом: студент пытается войти на сервер командами login, connect, или передаёт неправильный ключ/адрес.
# Правильная команда входа:
ssh -i ~/.ssh/id_rsa ec2-user@linux.itcareerhub.de
# Частая ошибка — не указывать ключ:
ssh ec2-user@linux.itcareerhub.de # сработает только если ключ добавлен в ssh-agent
Ошибка 5: Сложный awk с несколькими полями
Симптом: вывод awk не соответствует ожидаемому формату «PID *** PPID *».
# Неправильно — неверный порядок или имена полей:
ps -ef | grep '[s]shd -D' | awk '{print $2, $3}'
# вывод: 1234 1 ← без меток
# Правильно — с метками:
ps -ef | grep '[s]shd -D' | awk '{print "PID", $2, "PPID", $3}'
# вывод: PID 1234 PPID 1
Почему: в awk строки в двойных кавычках — литеральный текст; $2, $3 — поля (разделитель — пробел). В выводе ps -ef: поле $2 = PID, $3 = PPID.