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

🐛 Типичные ошибки — Занятие 03

Реальные ошибки из разбора ДЗ 2 на Summary Session 1. Источник: презентация урока.

⚡ Топ-3 ошибки из ДЗ 2

  • Нет пробела: mkdir/home/animals → должно быть mkdir /home/animals
  • Нет ключа -p: mkdir /home/animals/dogs если animals не существует — ошибка
  • Неправильный инструмент: mkdir для файла или touch для папки

Ошибки из разбора ДЗ 2

Все 7 ошибок — из реальной сессии (слайды «Часто встречающиеся ошибки»):

Ошибка 1: Нет пробела после команды

Написали:

mkdir/home/animals

Как должно быть:

mkdir /home/animals

Почему ошибка: оболочка видит mkdir/home/animals как одно слово — имя несуществующей команды. Аргументы всегда отделяются пробелом.

Ошибка 2: Нет ключа -p при создании вложенной папки

Написали:

mkdir /home/animals/dogs

Как должно быть:

mkdir -p /home/animals/dogs

Почему ошибка: если /home/animals ещё не существует, команда без -p упадёт с ошибкой «No such file or directory».

Замечание: Лишний ключ -p не вреден

Написали:

mkdir -p /home/animals

Это не ошибка! Если папка уже существует, mkdir -p молча ничего не делает. Во всех остальных случаях — безопасный вариант.

Ошибка 3: Попытка создать файл командой mkdir

Написали:

mkdir /home/animals/dogs/pluto

Как должно быть:

touch /home/animals/dogs/pluto

Почему ошибка: mkdir создаёт директорию, а не файл. В результате появится папка pluto вместо файла.

Ошибка 4: Попытка создать папку командой touch

Написали:

touch /home/animals/

Как должно быть:

mkdir /home/animals

Почему ошибка: touch создаёт пустой файл. Для директорий нужна команда mkdir.

Ошибка 5: Опечатка в названии папки

Написали:

mkdir /home/aninals

Как должно быть:

mkdir /home/animals

Почему ошибка: опечатка «aninals» вместо «animals». В реальной работе вы позже получите ошибку «No such file or directory» при переходе по правильному пути.

Ошибка 6: Ошибка в регистре имени файла

Написали:

cp /tmp/eve /temp/eVa

Как должно быть:

mv /tmp/evA /opt/eve

Почему ошибка: два нарушения сразу — eVaevA (регистр A/a), и путь /temp не существует (в Linux это /tmp). Linux чувствителен к регистру.

Ошибка 7: Использование cp вместо mv при переименовании

Написали:

cp /tmp/evA /opt/eve

Как должно быть:

mv /tmp/evA /opt/eve

Почему ошибка: в задании сказано «переместить с переименованием» — значит исходный файл должен исчезнуть. cp оставит оригинал в /tmp.