Подтвердить что ты не робот

Скопировать файлы из одного каталога в существующий каталог

В bash мне нужно сделать это:

  • взять все файлы в каталог

  • скопировать их в существующий каталог

Как мне это сделать? Я пробовал cp -r t1 t2 (оба t1 и t2 являются существующими каталогами, t1 имеет в нем файлы), но он создал каталог с именем t1 внутри t2, я не хочу этого, мне нужны файлы в t1, чтобы перейти непосредственно в t2. Как это сделать?

4b9b3361

Ответ 1

Что вы хотите:

cp -R t1/. t2/

Точка в конце сообщает ей скопировать содержимое текущего каталога, а не самого каталога. Этот метод также включает скрытые файлы и папки.

Ответ 2

Если вы хотите скопировать что-то из одного каталога в текущий каталог, сделайте следующее:

cp dir1/* .

Предполагается, что вы не пытаетесь скопировать скрытые файлы.

Ответ 3

cp dir1/* dir2

Или если у вас есть каталоги внутри dir1, которые вы также хотели бы скопировать

cp -r dir1/* dir2

Ответ 4

Предполагая, что t1 - это папка с файлами в нем, а t2 - это пустой каталог. То, что вы хотите, это что-то вроде этого:

sudo cp -R t1/* t2/

Помните, что в первом примере t1 и t2 должны быть полными или относительными путями (в зависимости от того, где вы находитесь). Если вы хотите, вы можете перейти к пустой папке (t2) и сделать это:

sudo cp -R t1/* ./

Или вы можете перейти к папке с файлами (t1) и сделать это:

sudo cp -R ./* t2/

Примечание. Знак * (или подстановочный знак) обозначает все файлы и папки. Флаг -R означает рекурсивно (все внутри всего).

Ответ 5

cp -R t1/ t2

Конечная косая черта в исходном каталоге слегка изменяет семантику, поэтому она копирует содержимое, но не сама директория. Он также избегает проблем с глобированием и невидимыми файлами, на которые отвечает Бертран (копирование t1/* пропускает невидимые файлы, копирует `t1/* t1/.* 'копии t1/. И t1/.., которые вам не нужны).

Ответ 6

В зависимости от некоторых деталей вам может понадобиться сделать что-то вроде этого:

r=$(pwd)
case "$TARG" in
    /*) p=$r;;
    *) p="";;
    esac
cd "$SRC" && cp -r . "$p/$TARG"
cd "$r"

... это в основном меняется в каталог SRC и копирует его в цель, а затем возвращается к тому, откуда вы начали.

Чрезмерная суета - это относительная или абсолютная цель.

(Это не зависит от тонкой семантики самой команды cp... о том, как она обрабатывает исходные спецификации с или без трейлинга /..., так как я не уверен, что они являются стабильными, переносимыми и надежный за пределами GNU cp, и я не знаю, будут ли они в будущем оставаться такими). ​​

Ответ 7

Привет, ребята, я работаю с git bah для Windows, и когда я попробовал решение, описанное выше, допустим, у меня есть два каталога Andela1 и Andela2, когда я использую решение выше Cp -R Andela1/. Andela2/копирует каталог Andela1 с содержимым файла и другими папками, которые находятся в одной папке с моим каталогом Andela1.Что я делаю не так. Вот моя иллюстрация: Andela1: system.java, about.html.workshops.py Andela2 Пусто Итак, когда я делаю это: Cp -R Andela1/. Andela2/Мои результаты: Andela1,3D Объекты/Appdata/Контакты и пр. Пожалуйста, помогите ::?