Задать вопрос

Linux. Как в терминале скопировать содержимое одной папки в другую не создавая во второй лишнюю подпапку?

Пример. В папке ~/test1/ находится подпапка fld1 и файл text.txt. Нужно скопировать их в папку ~/test2/, в которой уже что-то лежит.
Если ~/test2 не существует, то cp -a ~/test1 ~/ test2 сработает корректно, но в моём случае (когда ~/test2/ уже есть) создаётся подпапка с именем исходной. То есть копия текстового файла будет находиться в ~/test2/test1/text.txt
user@pc ~ $ ls tes*
test1:
fld1 text.txt
test2:

user@pc ~ $ cp -a ~/test1/ ~/test2/
user@pc ~ $ ls tes*
test1:
fld1 text.txt
test2:
test1

user@pc ~ $ ls ~/test2/test1/
fld1 text.txt


Каким ключом можно подавить такое странное для меня поведение? cp можно заменить на rsync или ещё что-нибудь подобное, дистрибутив Linux Mint (Debian).

Под Windows приведённая ниже аналогичная команда работает корректно:
C:\>xcopy c:\temp\test1 c:\temp\test2 /i /e
C:\Temp\test1\text.txt
Скопировано файлов: 1
C:\>dir C:\Temp\test2
 Том в устройстве C имеет метку Локальный диск
 Серийный номер тома: *******

 Содержимое папки C:\Temp\test2

15.09.2014  15:24    <DIR>          .
15.09.2014  15:24    <DIR>          ..
15.09.2014  15:07    <DIR>          fld
12.08.2014  18:12               877 text.txt
1 файл   877 байт
3 папки  ***** байт свободно
  • Вопрос задан
  • 20707 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Ayahuaska
@Ayahuaska
Хочу знать всё.
cp -av test1/* test2/
«test1/file» -> «test2/file»
«test1/test3» -> «test2/test3»
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Power
cp -iaT ~/test1 ~/test2
Ответ написан
@Karadar
cp -R ** не пойдет?
ls tes*

test1:
fld1 text

test2:
chto-to fld1 text
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы