Linux Labs

Первые шаги / Ступень 7 из 15

Создание и организация файлов

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 10 · теория · 5 мин

Перенос и переименование

Перенос и переименование делает одна и та же команда. Она же объясняет, куда делся первый черновик.

mv переносит файл: после команды под старым именем его нет. Назначение mv читает по той же таблице, что и cp. Каталог — файл окажется внутри. Нового имени нет — файл получит это имя. Существующий файл — он будет заменён, без вопроса.

Поэтому переименование — та же mv в пределах одного каталога: mv notes.txt README.txt. С каталогом в назначении это перенос: mv README.txt handoff/. Каталоги mv переносит так же, без дополнительных ключей.

Теперь история с черновиками. Каталога archive не было, поэтому для первой mv archive было новым именем — первая строка таблицы. Для второй это имя уже носил файл — третья строка, и mv заменила его без вопроса. Текст первого черновика потерян.

Защищают те же приёмы, что у cp: каталог создают заранее, назначение пишут с косой чертой — mv draft1.txt archive/, а замену подтверждают ключом -i.

Проверь себя 1 вопрос

В текущем каталоге есть файл report.txt и каталог old. Что ты увидишь в ls после mv report.txt old?

  • Копию с источником на месте делает cp. После mv под старым именем файла нет.

  • Косая черта — страховка на случай, если каталога нет. Когда old существует, mv report.txt old и mv report.txt old/ делают одно и то же.

  • Существующий каталог в назначении значит «положить внутрь». Заменить каталог файлом mv не может — проверь ls -l old.

Назначение old — существующий каталог, поэтому mv переносит report.txt внутрь под тем же именем. Проверь ls old: там report.txt.

Главное в шаге

  • Переименование и перенос — одна команда mv: всё решает назначение.
  • Существующий файл в назначении cp и mv заменяют молча; -i спрашивает перед заменой.
  • Косая черта в конце назначения требует каталог: если его нет, команда откажет и файл сохранит имя.
Ubuntu 24.04
Загрузка…