Используйте команду «cp», чтобы скопировать и вставить целые каталоги из одного места в другое.
Независимо от того, в какой операционной системе вы работаете, копирование одного файла или папки из одного места в другое - самая простая задача, которую вы выполняете ежедневно. В напряженный рабочий день, во время выполнения задания в школе или во время текущей разработки проекта копирование файлов из местоположения A в местоположение B неизбежно.
Копирование файлов или папок обычно выполняется с помощью графического интерфейса. Linux позаботится о вашей привычке работать на терминале, предоставив утилиту командной строки, которая позволяет копировать файлы или папки из одного места в другое. С помощью cp
Команда с множеством опций дает вам свободу копировать файлы и папки множеством способов.
Позвольте мне познакомить вас с этой статьей, в которой вы узнаете о cp
команда и способы копирования каталогов вместе с их содержимым.
Опции доступны с cp
команда
Это наиболее распространенные варианты, используемые с cp
команда в контексте копирования каталога и всего его содержимого.
Опции | Описание |
-v | подробный режим (показывает прогресс) |
-r / R | копировать каталоги рекурсивно |
-n | не перезаписывать существующий файл или папку |
-я | подскажите перед перезаписью |
Скопируйте каталог из одного места в другое
Начнем с самого простого использования cp
команда. Мы будем использовать эту команду с опцией -р
.
С помощью -р
Эта опция гарантирует, что подпапки и файлы внутри каталога, который вы копируете, также будут скопированы.
Синтаксис:
cp -r [исходное_расположение] [целевое_расположение]
Пример:
В моем текущем рабочем каталоге есть два каталога, которые называются «проект» и «рабочая область».
В этом примере я буду использовать cp -r
, чтобы скопировать каталог «проект» вместе со всем его содержимым в новое место, то есть «/ home / gaurav / workspace». Это просто означает, что я копирую каталог с именем «проект» в каталог с именем «рабочая область».
Это содержимое каталога «проект». С помощью ls
команда для отображения ее содержимого.
gaurav @ ubuntu: ~ / project $ ls -al всего 288 drwxr-xr-x 6 gaurav gaurav 4096 17 сен, 18:26. drwxr-xr-x 88 gaurav gaurav 266240 17 сен 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 17 сен 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:25 dem4 -rw-r - r-- 1 gaurav gaurav 24 сен 17, 18:26 temp.c gaurav @ убунту: ~ / проект $
Теперь, используя cp -r
команда, мы можем скопировать каталог «проект» в любое желаемое место.
gaurav @ ubuntu: ~ $ cp -r / home / gaurav / project / home / gaurav / workspace gaurav @ ubuntu: ~ $
Вывод:
gaurav @ ubuntu: ~ / workspace $ ls -al всего 408 drwxrwxr-x 4 gaurav gaurav 4096 17 сен, 18:27. drwxr-xr-x 88 gaurav gaurav 266240 17 сен 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22 марта 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 17 сен 18:27 проект -rw-r - r - 1 gaurav gaurav 1535, 16 сентября, 17:13 source.c gaurav @ ubuntu: ~ / workspace $
В выходных данных выше мы видим, что каталог «project» скопирован из исходного местоположения в это новое местоположение «/ home / gaurav / workspace». Теперь давайте откроем каталог «проект» и проверим, все ли содержимое внутри него также скопировано.
gaurav @ ubuntu: ~ $ cd ./workspace/project gaurav @ ubuntu: ~ / рабочая область / проект $
Примечание: я использовал ./
здесь вместо того, чтобы вводить полный путь. Это просто означает, что это путь к моему домашнему каталогу, а рабочая область находится в моем домашнем или текущем рабочем каталоге. Для получения дополнительных разъяснений по этому поводу вы можете ознакомиться с этой статьей.
Вывод:
gaurav @ ubuntu: ~ / workspace / project $ ls -al всего 28 drwxr-xr-x 6 gaurav gaurav 4096 17 сен, 18:27. drwxrwxr-x 4 gaurav gaurav 4096 17 сен 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:27 dem2 drwxr-xr-x 2 gaurav gaurav 4096 17 сен, 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 сен 18:27 dem4 -rw-r - r-- 1 gaurav gaurav 24 сен 17, 18:27 temp.c gaurav @ ubuntu: ~ / рабочая область / проект $
Из этого вывода мы можем сделать вывод, что все содержимое каталога «проект» также перемещено в новое место.
Копирование нескольких каталогов из одного места в другое
Чтобы скопировать несколько каталогов, cp
можно использовать так же, как указано выше. Единственное изменение здесь будет заключаться в том, что вам нужно будет ввести несколько исходных путей для нескольких копируемых каталогов.
Синтаксис:
cp -r [исходный_путь_1] [исходный_путь_n] [целевой_путь]
Давайте проверим эту команду на примере.
Пример:
gaurav @ ubuntu: ~ / рабочая область $ cp -r ./snap ./project / home / gaurav / tomcat
Здесь я скопировал два каталога «snap» и «project» из моего текущего рабочего каталога в новое место «/ home / gaurav / tomcat».
Теперь давайте проверим, скопированы ли каталоги с их содержимым в новое место.
gaurav @ ubuntu: ~ / tomcat $ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 19 сен, 12:16. drwxr-xr-x 88 gaurav gaurav 266240 19 сен 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19 сен 12:16 проект drwxr-xr-x 7 gaurav gaurav 4096 19 сен 12:16 snap
Проверка, копируется ли также содержимое этих каталогов.
gaurav @ ubuntu: ~ / tomcat / snap $ ls couchdb eclipse htop pycharm-community vim-editor gaurav @ ubuntu: ~ / tomcat / snap $
gaurav @ ubuntu: ~ / tomcat / project $ ls dem1, dem2 dem3 dem4 temp.c gaurav @ ubuntu: ~ / tomcat / project $.
С использованием cp
команда с подробным режимом
С помощью cp
команда с опцией -v
включает подробный режим. Эта функция отображает файлы на терминале, которые копируются. Имя копируемого файла или папки отображается на вашем терминале.
Синтаксис:
cp -vr [исходный_каталог] [целевой_каталог]
Пример:
gaurav @ ubuntu: ~ $ cp -vr ./workspace/apache ./space
В этом примере каталог «apache» копируется в новую папку «пространство». Я использовал -v
вариант с -р
, так что все содержимое каталога apache также будет скопировано.
Вывод:
'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz 'gaurav @ ubuntu: ~ $
На выходе отображается каталог, который копируется. Тот же процесс можно проделать в случае копирования нескольких файлов.
Избегайте перезаписи при использовании cp
команда
Иногда при использовании cp
команда для копирования нескольких файлов или папок, вы можете в конечном итоге перезаписать файлы, которые уже скопированы в новое место. Чтобы избежать этого, рекомендуется использовать -я
вариант с cp
команда. Это запросит вас перед перезаписью любого файла или папки.
Синтаксис:
cp -ri [исходный_каталог_путь] [целевой_каталог_путь]
Примечание: Здесь в синтаксисе, который я использовал -р
вариант тоже. Это также скопирует содержимое каталогов. Он также проверит, не перезаписываются ли какие-либо из этих подпапок и файлов внутри каталога.
Пример:
gaurav @ ubuntu: ~ $ cp -ri ./workspace/snap ./tomcat cp: перезаписать './tomcat/snap/pycharm-community/current'?
Здесь я попытался скопировать каталог с именем «snap» в новое место. Но каталог с именем «snap» уже существует в новом месте. Следовательно, я получу запрос от терминала перед перезаписью существующего каталога оснастки.
Вы можете ввести ‘да
' или 'Нет
‘Как ответ на это приглашение.
В случае, если вы не используете -я
вариант, существующий каталог будет заменен новым каталогом.
Пропустить перезапись файлов и каталогов с помощью cp
команда
Мы можем использовать -n
возможность напрямую указать терминалу никогда не перезаписывать и просто пропускать похожие файлы и каталоги при использовании cp
команда.
Синтаксис:
cp -nr [исходный_каталог_путь] [целевой_каталог_путь]
Используя эту команду, вы можете быть уверены, что ваши файлы и папки не будут перезаписаны.
Пример:
gaurav @ ubuntu: ~ $ cp -ri ./workspace/snap ./tomcat gaurav @ ubuntu: ~ $
Здесь каталог snap уже существует в целевом расположении. Следовательно, используя -n
опция гарантирует, что этот каталог не будет перезаписан.
в отличие -я
вариант, здесь вам не будет предлагаться перезапись.
Вывод
С помощью cp
Команда для копирования каталогов и их содержимого в Linux - простой процесс. Чтобы узнать больше о cp
с другими доступными параметрами, вы можете проверить страницу руководства, набрав человек cp
в вашем Linux-терминале.