Как переименовать файл или директорию в Linux?

«Как переименовать файл или директорию в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Linux для переименования файлов и директорий используется команда mv (от move). С точки зрения файловой системы, переименование — это перемещение объекта в пределах одного раздела с изменением имени.

Базовый синтаксис:

mv [ОПЦИИ] ИСТОЧНИК НАЗНАЧЕНИЕ

Примеры:

  1. Переименование файла в текущей директории:

    mv old_report.txt new_report.txt
  2. Переименование директории:

    mv old_directory/ new_directory/
  3. Перемещение и одновременное переименование файла в другую директорию:

    mv /home/user/data.log /var/log/application_data.log

Часто используемые опции:

  • -i (interactive) — запрашивает подтверждение перед перезаписью существующего файла.
  • -n (no-clobber) — запрещает перезапись существующего файла.
  • -v (verbose) — выводит информацию о выполненных действиях.

Пример с опциями:

mv -iv old_backup.tar.gz new_backup.tar.gz
# Будет выведено: переименовано 'old_backup.tar.gz' -> 'new_backup.tar.gz'

Важное предупреждение: Если файл с именем НАЗНАЧЕНИЕ уже существует, он будет безмолвно перезаписан (если не используется -i или -n). Всегда проверяйте целевой путь.

Для пакетного переименования (например, изменение расширения у группы файлов) используются циклы или утилита rename:

# Переименовать все .jpeg файлы в .jpg в текущей директории
for file in *.jpeg; do mv "$file" "${file%.jpeg}.jpg"; done
# Или с использованием rename (синтаксис может отличаться)
rename 's/.jpeg$/.jpg/' *.jpeg