Как в Linux скопировать файл из одного каталога в другой?

В Linux существует несколько способов копирования файлов из одного каталога в другой. В этой статье мы рассмотрим наиболее распространенные методы копирования файлов в Linux с примерами кода.

Команда cp

Команда cp (copy) является одним из наиболее распространенных способов копирования файлов в Linux. Она имеет следующий синтаксис:

cp [опции] <исходный файл> <целевой файл>

Например, чтобы скопировать файл «file1.txt» из каталога «/home/user/documents» в каталог «/home/user/pictures», выполните следующую команду:

cp /home/user/documents/file1.txt /home/user/pictures/

Если вы хотите скопировать несколько файлов в новый каталог, можно перечислить их через пробел. Например:

cp file1.txt file2.txt /home/user/pictures/

Для копирования всех файлов из одного каталога в другой, используйте символ звездочки (*). Например:

cp /home/user/documents/* /home/user/pictures/

Опции команды cp

Команда cp имеет несколько опций, которые позволяют настраивать процесс копирования. Некоторые из них:

  • -r (или —recursive) — копировать каталоги рекурсивно
  • -v (или —verbose) — выводить информацию о каждом скопированном файле
  • -i (или —interactive) — запрашивать подтверждение перед заменой существующих файлов
  • -u (или —update) — копировать только те файлы, которые новее, чем их аналоги в целевом каталоге.
Читайте также:  Как устранить проблему «не удается прочитать суперблок» в Linux (файловые системы ext4 и Btrfs)

Например, чтобы скопировать каталог «documents» из домашней директории пользователя «user» в каталог «backup» и отобразить информацию о каждом скопированном файле, выполните следующую команду:

cp -rv /home/user/documents /backup/

Команда mv

Еще один способ перемещения или копирования файлов в Linux — это использование команды mv (move). Она имеет следующий синтаксис:

mv [опции] <исходный файл> <целевой файл>

Например, чтобы переместить файл «file1.txt» из каталога «/home/user/documents» в каталог «/home/user/pictures», выполните следующую команду:

mv /home/user/documents/file1.txt /home/user/pictures/

Как и в случае с командой cp, для перемещения нескольких файлов в один каталог, можно перечислить их через пробел. Например:

mv file1.txt file2.txt /home/user/pictures/

Для перемещения каталога в новый каталог используйте опцию -r (recursive). Например:

mv -r /home/user/documents /home/user/pictures/

Опции команды mv

Команда mv также имеет несколько опций, которые могут быть полезны в различных ситуациях. Некоторые из них:

  • -i (или —interactive) — запрашивать подтверждение перед заменой существующих файлов
  • -f (или —force) — перезаписывать файлы без запроса подтверждения
  • -u (или —update) — перемещать только те файлы, которые новее, чем их аналоги в целевом каталоге.
Читайте также:  Лучшие дистрибутивы Linux 2021 года для разных целей и пользователей

Например, чтобы переместить файл «file1.txt» из каталога «/home/user/documents» в каталог «/home/user/pictures» и перезаписать существующий файл, если такой имеется, выполните следующую команду:

mv -f /home/user/documents/file1.txt /home/user/pictures/

Команда rsync

Команда rsync — это еще один способ копирования файлов и каталогов в Linux. Она обеспечивает более быстрое и удобное копирование файлов по сравнению с командами cp и mv. Команда rsync имеет следующий синтаксис:

rsync [опции] <исходный файл> <целевой файл>

Например, чтобы скопировать каталог «documents» из домашней директории пользователя «user» в каталог «backup» с сохранением всех разрешений и временных меток, выполните следующую команду:

rsync -avz /home/user/documents /backup/

Опции команды rsync

Команда rsync имеет множество опций, которые могут быть полезны в различных ситуациях. Некоторые из них:

  • -a (или —archive) — сохранять все атрибуты и разрешения файлов и каталогов, включая временные метки и владельцев
  • -v (или —verbose) — выводить информацию о каждом скопированном файле
  • -z (или —compress) — сжимать данные при передаче
  • -u (или —update) — копировать только те файлы, которые новее, чем их аналоги в целевом каталоге.
Читайте также:  Как установить медиаплеер Banshee на Fedora 20/19/18

Например, чтобы скопировать каталог «documents» из домашней директории пользователя «user» в каталог «backup» с сохранением только разрешений, выполните следующую команду:

rsync -rl /home/user/documents /backup/

Вывод

В Linux существует несколько способов копирования файлов из одного каталога в другой. Вы можете использовать команду cp для копирования файлов, команду mv для перемещения файлов и команду rsync для более эффективного копирования файлов и каталогов. Каждый из этих способов имеет свои сильные и слабые стороны, поэтому выбор определенного способа зависит от вашей конкретной ситуации.

Важно помнить, что неправильное использование команд cp, mv и rsync может привести к потере данных. Поэтому перед копированием или перемещением файлов важно убедиться, что вы делаете это правильно. Если у вас возникнут какие-либо сомнения или вопросы, не стесняйтесь обратиться к документации или обратиться за помощью к опытному пользователю Linux.

В этой статье мы рассмотрели команды cp, mv и rsync для копирования файлов и каталогов в Linux. Мы рассмотрели примеры кода, которые помогут вам скопировать файлы из одного каталога в другой. Вы можете выбрать любой из этих методов в зависимости от вашей конкретной ситуации.