← Назад к вопросам

Как переименовать файл на linux

1.0 Junior🔥 162 комментариев
#Linux и администрирование

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Как переименовать файл в Linux: Основные команды и методы

Переименование файлов в Linux выполняется с помощью команды mv (от «move» – переместить). Несмотря на название, эта команда используется как для перемещения файлов между директориями, так и для их переименования в рамках одной директории.

Базовый синтаксис команды mv

mv [опции] источник назначение

Для переименования файла в текущей директории:

mv старое_имя_файла новое_имя_файла

Практические примеры

Пример 1: Простое переименование

# Переименовать файл report.txt в report_final.txt
mv report.txt report_final.txt

Пример 2: Переименование с указанием пути

# Даже если файл находится в другой директории, можно указать полный путь
mv /home/user/docs/report.txt /home/user/docs/report_final.txt

Пример 3: Переименование с перемещением

# Одновременно переименовать и переместить файл в другую директорию
mv report.txt /backup/report_archive.txt

Полезные опции команды mv

  • -i (interactive) – запрашивать подтверждение перед перезаписью существующего файла
  • -n (no-clobber) – не перезаписывать существующие файлы
  • -v (verbose) – выводить информацию о выполняемых действиях
  • -u (update) – перемещать только если исходный файл новее или не существует в целевой директории
# Пример с опциями
mv -iv old_name.txt new_name.txt

Особенности и важные замечания

1. Перезапись файлов: По умолчанию mv без вопросов перезапишет существующий файл с целевым именем. Это может привести к потере данных.

2. Переименование директорий: Команда mv работает одинаково для файлов и директорий:

mv old_directory/ new_directory/

3. Использование шаблонов: Можно использовать wildcards для группового переименования:

# Переименовать все .txt файлы, добавляя префикс backup_
for file in *.txt; do mv "$file" "backup_$file"; done

Альтернативные методы переименования

1. Использование rename для сложных преобразований:

# Установка утилиты rename (может отличаться в разных дистрибутивах)
# Для Debian/Ubuntu: apt install rename
# Для RHEL/CentOS: yum install prename

# Заменить расширение у всех .txt файлов на .md
rename 's/\.txt$/.md/' *.txt

2. Интерактивные файловые менеджеры:

  • mc (Midnight Commander) – двухпанельный файловый менеджер
  • nautilus, dolphin, thunar – графические файловые менеджеры

3. Пакетное переименование в vim:

# Переименование файлов через vim с использованием netrw
vim
:Explore
# Выделить файлы и использовать команду rename

Рекомендации для DevOps, SRE и инженеров инфраструктуры

В автоматизированных сценариях (скрипты, Ansible playbooks, CI/CD pipelines) переименование файлов должно быть:

  1. Идемпотентным – безопасным при повторном выполнении
  2. Предсказуемым – с явным указанием поведения при конфликтах имен
  3. Логируемым – с записью операций для аудита

Пример безопасного переименования в bash-скрипте:

#!/bin/bash
set -euo pipefail

SOURCE_FILE="${1}"
TARGET_FILE="${2}"

if [[ -f "${TARGET_FILE}" ]]; then
    echo "Ошибка: файл ${TARGET_FILE} уже существует" >&2
    exit 1
fi

if [[ ! -f "${SOURCE_FILE}" ]]; then
    echo "Ошибка: исходный файл ${SOURCE_FILE} не найден" >&2
    exit 1
fi

mv -v "${SOURCE_FILE}" "${TARGET_FILE}"
echo "Файл успешно переименован: ${SOURCE_FILE} -> ${TARGET_FILE}"

Для операционных задач в продакшн-средах всегда используйте флаг -i или предварительные проверки существования целевых файлов, чтобы избежать случайной потери данных. В сценариях автоматизации учитывайте обработку ошибок и ведение логов всех операций с файлами.