Я пытаюсь скопировать содержимое папки в другую папку в другом каталоге с помощью терминала.
Может ли кто-нибудь предоставить мне пример синтаксиса командной строки, необходимого для этого?
Я пытаюсь скопировать содержимое папки в другую папку в другом каталоге с помощью терминала.
Может ли кто-нибудь предоставить мне пример синтаксиса командной строки, необходимого для этого?
Вы можете скопировать содержимое папки /source
в другую существующую папку /dest
с помощью команды
cp -a /source/. /dest/
Параметр -a
- это улучшенная рекурсивная опция, которая сохраняет все атрибуты файла, а также сохраняет символические ссылки.
.
в конце исходного пути - это определенный синтаксис cp
, который позволяет копировать все файлы и папки, включая скрытые.
Альтернативным является rsync
rsync -r source/ destination
Преимущества rsync заключаются в следующем:
После начальной синхронизации он копирует только файлы, которые были изменены.
Вы можете использовать его по сети, удобной для файлов в $ HOME, особенно в конфигурационных файлах. Р>
Допустим, у вас есть папка с именем folder1 в вашем ~
, внутри folder1 - 1 файл с именем file1 и 2 папки с именем < em> sub1 и sub2 с другими файлами и папками внутри них.
Чтобы скопировать все содержимое ~/folder1
в ~/new_folder1
, вы должны использовать
cp -r ~/folder1/. ~/new_folder1
new_folder1
будет содержать все файлы и папки из folder1
.
cp
- это команда для копирования с использованием терминала, -r
делает ее рекурсивно (так, текущий каталог + дальнейшие каталоги внутри текущего) ~/folder1
- это исходная папка, ~/new_folder1
- это папка назначения файлов / папки внутри начала координат.
Обратитесь к ссылке за дополнительной информацией о копировании папки. Надеюсь, это поможет.
cp Command
cp
- это команда Linux для копирования файлов и каталогов. Синтаксис выглядит следующим образом:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
В этом примере скопируйте папку /home/vivek/letters
и все ее файлы в каталог /usb/backup
:
cp -avr /home/vivek/letters /usb/backup
Где
-a
: сохранить указанные атрибуты, такие как каталог, режим файла, собственность, временные метки, если возможно дополнительные атрибуты: контекст, ссылки, xattr, все.
-v
: Объясните, что делается.
-r
: рекурсивно копировать каталоги.
Пример р>
Скопируйте папку с именем / tmp / conf в / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Если есть две папки: (с разрешением на запись)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Если вы находитесь в папке PORTAL, где вы хотите скопировать все содержимое другой папки, скажите DATA на том же уровне то вы будете делать
[email protected]:/var/www/html/PORTAL$ cp -a ../DATA/. .
р>
Вы должны заметить 2 точки. Последняя точка указывает копию здесь в текущей папке
и
одно следующее / DATA /. говорит, что все содержимое внутри папки DATA будет скопировано, а не сама папка DATA.
Если вы удалите этот трейлинг "." из / DATA /
, тогда вся папка DATA будет скопирована внутри PORTAL (откуда вы справляетесь).