Ответы:
Вы используете -r
(копировать рекурсивно) и указываете новое имя
cp -r /path/to/directory /path/to/location/new-name
заменить реальными путями ... например, скопировать stuff
из моего домашнего каталога в существующий каталог backup
и дать имя новому каталогу stuff-backup
(если этот каталог уже существует, обратите внимание, что stuff
он будет скопирован в него, а не перезаписывается).
cp -r ~/stuff ~/backup/stuff-backup
~
это ярлык для вашего домашнего каталога /home/$USER
или /home/zanna
в моем случае. Вы можете опустить его, если текущим рабочим каталогом является ваш домашний каталог - вы можете увидеть это в приглашении
zanna@monster:~$
^--the ~ here is where I am - home!
Вы можете добавить -v
подробный флаг, чтобы сделать cp
отчет о каждой выполняемой копии ...
$ cp -vr stuff backup/stuff-backup
'stuff/thing1' -> 'backup/stuff-backup/thing1'
'stuff/thing2' -> 'backup/stuff-backup/thing2
...
-v
или --verbose
флаг :)
Команда, которая вам нужна, просто cp
означает «копировать».
Вы можете использовать его, например, с одним из следующих синтаксисов:
cp SOURCEFILE TARGETFILE
cp SOURCEFILE TARGETDIRECTORY
Первый вариант позволяет указать новое имя файла для целевого файла, а второй вариант создает копию с тем же именем в целевом каталоге. Конечно, вы должны сначала заменить заполнители заглавными буквами действительными путями.
Однако cp
по умолчанию работает только с файлами, а не с каталогами. Чтобы заставить его скопировать полный каталог со всем его содержимым рекурсивно, вы должны добавить -r
опцию:
cp -r SOURCEDIRECTORY TARGETDIRECTORY
Вы можете узнать больше о cp
команде, набрав man cp
в своем терминале.
В качестве альтернативы обычно полезной команде cp вы можете использовать rsync, который имеет дополнительное преимущество репликации разрешений / временных меток исходной структуры каталогов:
rsync -av dir/ newdir
-a архив -v многословный
обратите внимание на косую черту после исходного каталога.
Мне легче перейти в каталог, из которого я сначала копирую. Для этого примера перейдите в каталог, который каждый вызвал /boot
. Любой может скопировать и вставить команды ниже в свой терминал.
cd /boot
sudo mkdir /boot_backup
sudo cp -r . /boot_backup
du /boot_backup -h
752K /boot_backup/extlinux/themes/debian-wheezy
756K /boot_backup/extlinux/themes
832K /boot_backup/extlinux
2.5M /boot_backup/grub/i386-pc
20K /boot_backup/grub/locale
2.3M /boot_backup/grub/fonts
7.2M /boot_backup/grub
565M /boot_backup
Для cp
команды текущий каталог определяется как , .
который является /boot
каталог , мы изменили в. -r
Опция позволяет рекурсивной включать все подкаталоги.
Чтобы убедиться, что это работает, запустите du
список всех подкаталогов и общие размеры файлов в новом каталоге /boot_backup
в этом случае.
По завершении этого пошагового sudo rm -r /boot_backup
руководства используйте: для удаления нового каталога и его подкаталогов.
cp -r
), которые позаботятся о создании нового каталога и копировании всех файлов в него
cp -r
как вы рекомендуете уже в третьей командной строке. Учебное пособие основано на том факте, что у каждого есть /boot
каталог, и он может попробовать это на своем компьютере. Если бы я использовал, cp -r /home/GroundZero/Documents /home/GroundZero/Documents_backup
читатели не могли бы копировать и вставлять в свой терминал - у них были бы изменения, GroundZero
создающие больше работы и шансов на ошибку. Я надеюсь, что вы оцените ПОЦЕЛУЙ этого ответа со встроенным учебником.
cd ~/Documents/SomeObsucreFolder/2016/Nov/
для установки текущего каталога в качестве исходного каталога, изменит подсказку терминала, чтобы убедиться, что оно написано правильно, а затем использование cp -r .
в качестве источника устраняет повторный ввод исходного каталога. Это просто то, что я считаю хорошей привычкой. Кроме того , как только изменения в исходный каталог , это легко сделать ls FIleName1
, ls FileName2
и т.д. , чтобы esnure файлов , которые вы хотите сделать резервную копию там без необходимости повторять имя исходного каталога для ls
команды.
Вы можете использовать приведенную ниже команду для копирования каталога из одного места в другое.
cp -Rvp /home/edmuntu/data /home/edmuntu/mydata/
Объяснение команды:
cp
это команда, которая выполняет функцию, которую вы ищете. Это означает копирование, и оно делает именно это. Команда, которая будет работать для вас в этой ситуации,
cp -R source/ destination/
Это скопирует source/
папку и все ее подкаталоги в destination/
.
Если destination/
не существует, он будет создан.
-R
Флаг означает рекурсивный, который говорит , cp
чтобы скопировать все подкаталоги.