Как копировать файлы в Linux с помощью команды cp

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

Что такое команда cp в Linux?

Утилита командной строки для систем Unix и Linux, способная копировать как файлы, так и папки, cp доступна практически в каждом дистрибутиве Linux. Вы увидите, что на него часто ссылаются в руководствах по выполнению задач управления файлами в Linux.

Вам не нужно быть специалистом по терминалам, чтобы использовать его. Его синтаксис прост, и его проще всего использовать, если вы откроете терминал в (или cd ) в каталоге, содержащем файлы, которые вы хотите скопировать.

cp Синтаксис

Синтаксис команды cp очень похож на команду mv , требуя, чтобы вы просто указывали источник или источники (файлы или папки, которые вы хотите скопировать) и место назначения (каталог или имя файла для копий).

 cp [options] >source>... >destination>

Ваша команда может содержать несколько источников, но может быть только одно место назначения. Назначением может быть другой каталог, новое имя файла или и то, и другое.

Копирование файлов с помощью cp

Если вы хотите создать копию одного файла в том же каталоге, но с другим именем, используйте такую ​​команду:

 cp file.txt newfile.txt

Чтобы сделать то же самое, но в подкаталоге, используйте такую ​​команду:

 cp file.txt Backup/newfile.txt

Приведенная выше команда предполагает, что у вас есть папка с именем Backup в текущем каталоге.

Если вам не нужно новое имя для файла, просто укажите каталог, а не имя файла в месте назначения:

 cp file.txt Backup

Чтобы скопировать несколько файлов с помощью cp, просто запишите все файлы, которые вы хотите скопировать, через пробел, прежде чем указывать место назначения.

 cp file1.txt file2.txt file3.txt Backup

Чтобы сэкономить время при копировании нескольких файлов, вы можете использовать тег подстановки , звездочку (*), чтобы автоматически копировать все файлы в каталоге с одинаковым расширением, используя что-то вроде примера ниже:

 cp *.txt Backup

Приведенная выше команда найдет все файлы с расширением .txt в текущем каталоге и скопирует их в каталог резервного копирования.

Конечно, это полезно только в том случае, если все или большинство файлов, которые вы хотите скопировать, имеют одинаковое расширение или что-то еще общее в имени файла.

Использование cp для копирования папки / каталога

Если вы хотите, чтобы каталог и все его содержимое были скопированы в новое место, вам нужно указать параметр -R . Вот пример:

 cp -R Files Backup

Вышеупомянутая команда скопирует папку Files и поместит копию в папку с именем Backup .

Если вы хотите скопировать содержимое папки, но не саму папку, вам нужно использовать параметр -T :

 cp -RT Files Backup

Полезные параметры cp

Эти часто используемые параметры для команды cp в основном полезны, если вас беспокоят возможные перезаписи или конфликты атрибутов файлов.

В предыдущих командах вы заметите, что вы не получаете сообщения от терминала, подтверждающего, что что-то произошло. Чтобы узнать, что происходит, используйте подробный параметр -v :

 cp -v file.txt newfile.txt

Если вас беспокоит случайная перезапись, вы можете настроить параметр -i, чтобы всегда запрашивать подтверждение при конфликте имен файлов. Например:

 cp -i file.txt newfile.txt

С помощью приведенной выше команды, если файл с именем newfile.txt уже существует, cp спросит, уверены ли вы, что хотите его перезаписать.

Вы также можете сохранить атрибуты файла, такие как право собственности пользователя, режим файла и даты изменения, с помощью опции -p :

 cp -v file.txt newfile.txt

Параметр сохранения полезен, если в вашей системе несколько пользователей или если у вас есть другая операция синхронизации, которая зависит от дат изменения файлов.

Командная строка, копирующая уверенность

Теперь вы знаете, как использовать cp для легкого и безопасного копирования файлов, и вы сделали важный шаг к тому, чтобы стать удобным и универсальным с помощью командной строки Linux.

Если вам нужно создать большие резервные копии ваших файлов, есть несколько инструментов, доступных для пользователей Linux, которые вы, возможно, захотите рассмотреть.