Unix - копирование содержимого одного каталога в другой

Folder1/
    -fileA.txt
    -fileB.txt
    -fileC.txt

> mkdir Folder2/

> [copy command]

И теперь Folder2/ выглядит следующим образом:

Folder2/
    -fileA.txt
    -fileB.txt
    -fileC.txt   

Как это сделать? Я пробовал cp -r Folder1/ Folder2/, но я закончил с:

Folder2/
    Folder1/
        -fileA.txt
        -fileB.txt
        -fileC.txt

Это близко, но не совсем то, что я хотел.

Спасибо!

Ответ 1

Попробуйте следующее:

cp Folder1/* Folder2/

Ответ 2

Довольно просто, с подстановочным знаком *.

cp -r Folder1/* Folder2/

Но в соответствии с вашим примером рекурсия не нужна, так что будет достаточно:

cp Folder1/* Folder2/

EDIT:

Или пропустите часть mkdir Folder2 и просто запустите:

cp -r Folder1 Folder2

Ответ 3

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

cp -av Source/* Dest/

(убедитесь, что Dest/существует первым)

Если вы хотите многократно обновлять файлы с одного на другой или убедитесь, что вы также скопировали все dotfiles, rsync - отличная помощь:

rsync -av --delete Source/Dest/

Это также "восстанавливается", поскольку вы можете перезапустить его, если вы его прервите во время копирования. Мне нравится "-v", потому что он позволяет вам смотреть, что происходит, но вы можете его опустить.