Инструкция: как копировать и перемещать файлы в Linux через терминал
Для того чтобы понять, как копировать и перемещать файлы в Linux через терминал, достаточно освоить две базовые утилиты: cp (copy) для создания копий и mv (move) для перемещения или переименования объектов.
Оглавление
Копирование файлов и папок
Команда cp создаёт копию файла или каталога в указанном месте, оставляя оригинал нетронутым.
Базовый синтаксис:
cp [опции] источник назначение
Основные примеры использования:
cp file.txt /target/— копирует файл в указанную директориюcp file.txt /target/newname.txt— создаёт копию с новым именемcp -r source_dir dest_dir— рекурсивное копирование директорий вместе с содержимымcp -p file.txt /target/— сохранение прав доступа, владельца и временных метокcp -i file.txt /target/— интерактивный режим с запросом подтверждения перед перезаписьюcp -v file.txt /target/— подробный вывод процесса копирования в консоль
Перемещение и переименование файлов
Команда mv применяется для перемещения объектов в другую директорию или их переименования. При этом исходный файл удаляется из старого расположения.
Базовый синтаксис:
mv [опции] источник назначение
Основные примеры:
mv plain.txt tmp/— переносит файл в папкуtmpmv oldname.txt newname.txt— переименовывает файл в той же директорииmv intro manual/chap1— перемещает файлintroв каталогmanualи одновременно присваивает ему имяchap1- Флаг
-fотключает запросы на подтверждение перезаписи - Флаг
-vвыводит информацию о выполненных действиях
Важные нюансы
При работе с важными данными всегда проверяйте путь назначения — в терминале по умолчанию нет корзины.
- Для копирования больших объёмов данных или синхронизации папок вместо
cpрекомендуется использовать утилитуrsync - Обе команды поддерживают метасимволы (wildcards), например
*.txt, для обработки группы файлов одновременно
Частые ошибки
Случайная перезапись файлов
Без флага -i команда cp или mv может перезаписать существующий файл без предупреждения. Используйте интерактивный режим для защиты важных данных.
Забытый флаг -r при копировании папок
Попытка скопировать директорию без рекурсивного флага приведёт к ошибке. Для каталогов всегда используйте cp -r.
Неверный путь назначения
В терминале нет корзины, поэтому ошибочное перемещение или копирование может привести к потере данных. Всегда проверяйте указанный путь перед выполнением команды.
FAQ
Можно ли переименовать файл командой mv без перемещения?
Да. Если указать новое имя файла в той же директории (например, mv oldname.txt newname.txt), утилита просто переименует объект без изменения его расположения.
Чем заменить cp для копирования больших объёмов данных?
Для синхронизации папок и работы с большими массивами данных вместо cp рекомендуется использовать утилиту rsync.
Как скопировать сразу несколько файлов?
Обе команды поддерживают использование метасимволов. Например, cp *.txt /target/ скопирует все текстовые файлы из текущей директории в указанную папку.
Как сохранить атрибуты исходного файла при копировании?
Добавьте флаг -p к команде cp. Это сохранит права доступа, владельца и временные метки оригинала в созданной копии.