Я пытаюсь скопировать содержимое папки в другую папку в другом каталоге с помощью терминала.
Может ли кто-нибудь предоставить мне пример синтаксиса командной строки, необходимого для достижения этой цели?
command-line
cp
pandisvezia
источник
источник
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
флаг, чтобы сохранить права доступа к файлам и временные метки.cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
уже подразумевает--preserve=all
, что шире, чем-p = --preserve=mode,ownership,timestamps
.scp
используется для копирования по сети (черезssh
) и шифрует только канал связи, а не файлы в файловой системе назначения.Альтернатива rsync
Преимущества rsync:
После начальной синхронизации он будет копировать только те файлы, которые были изменены.
Вы можете использовать его по сети, что удобно для файлов в $ HOME, особенно для файлов конфигурации.
источник
rsync -r source/ destination
должно быть достаточно, нет?rync source/ dest
что очевидно, что люди должны будут настроить команду rsync для работы по своему усмотрению.Допустим, у вас есть папка с именем folder1
~
, внутри folder1 находится 1 файл с именем file1 и 2 папки с именами sub1 и sub2, в каждой из которых находятся другие файлы и папки.Для того, чтобы скопировать все содержимое ,
~/folder1
чтобы~/new_folder1
вы использовали быnew_folder1
будет содержать все файлы и папки изfolder1
.cp
является командой для копирования с использованием терминала,-r
делает ее рекурсивной (т. е. текущий каталог + дополнительные каталоги внутри текущего)~/folder1
является папкой источника,~/new_folder1
является папкой назначения для файлов / папок внутри источника.источник
~/new_folder1/folder1
вместо копирования содержимого поверх.cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Проверьте это http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ для получения дополнительной информации о копировании папки. Надеюсь это поможет.
cp
команда Linux для копирования файлов и каталогов Синтаксис выглядит следующим образом:В этом примере скопируйте
/home/vivek/letters
папку и все ее файлы в/usb/backup
каталог:Где,
-a
: Сохраните указанные атрибуты, такие как каталог, режим файла, владелец, временные метки, если возможно, дополнительные атрибуты: контекст, ссылки, xattr, все.-v
Объясните, что делается.-r
: Копировать каталоги рекурсивно. примерСкопируйте папку с именем / tmp / conf в / tmp / backup:
источник
Простой пример
Скопируйте каталог dir_1 и его содержимое (_files_) в каталог dir_2 :
Скопируйте содержимое (_files_) только dir_1 в каталог dir_2 :
_files_
является заполнителем для фактических файлов, расположенных в каталоге.источник
Если есть две папки: (с правом записи)
Если вы находитесь в папке с именем PORTAL, куда вы хотите скопировать все содержимое другой папки, скажем, DATA на том же уровне, то вы будете делать
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Вы должны заметить 2 точки. Последняя точка говорит, что копия здесь, в данной папке
а также
один следующий / DATA /. говорит, что все СОДЕРЖАНИЕ внутри папки DATA для копирования, а не сама папка DATA.
Если вы удалите этот трейлинг "." от / ДАННЫЕ /
тогда вся папка DATA будет скопирована в ПОРТАЛ (откуда вы копируете).
источник