1

Допустим, у вас есть это дерево каталогов

parent
   -----child1
           -----file0 
           -----grandchild1
                      -----file1
                      -----file2 
           -----grandchild2
                      -----file3
   -----child2

Теперь мне нужно научиться делать две вещи

  1. Скопируйте папку child1 в child2, чтобы был родительский /child2 /child1 /grancdhild1 /file1
  2. Скопируйте содержимое папки child1 в child2, так что там будет parent /child2 /grancdhild1 /file1

Обратите внимание, что у второго нет "child1", в первом мы копируем папку в новую папку, во втором мы копируем содержимое папки в другую папку.

Если это имеет значение, скажем, ваше текущее местоположение является родительским.

Моя главная задача - скопировать все (подкаталоги, скрытые файлы и т.д.)

3 ответа3

3

Rsync на помощь! :-)

Следите за тем символом косой черты (или его отсутствием) в конце параметра 'child1'. Это единственная разница. Команды выполняются в parent .

$ rsync -a child1 child2/

Результат:

├── child1
│   ├── file0
│   ├── grandchild1
│   │   ├── file1
│   │   └── file2
│   └── grandchild2
│       └── file3
└── child2
    └── child1
        ├── file0
        ├── grandchild1
        │   ├── file1
        │   └── file2
        └── grandchild2
            └── file3

$ rsync -a child1/ child2/

Результат:

├── child1
│   ├── file0
│   ├── grandchild1
│   │   ├── file1
│   │   └── file2
│   └── grandchild2
│       └── file3
└── child2
    ├── file0
    ├── grandchild1
    │   ├── file1
    │   └── file2
    └── grandchild2
        └── file3
2

Предполагая, что parent - это ваше рабочее направление

Сделать 1: cp -r child1 child2

Чтобы сделать 2: cp -r child1/* child2

Существуют разные реализации cp в мире * nix, но -r должен работать. Проверьте свою документацию для деталей. Также взгляните на ключ -a в GNU cp .

0

Чтобы скопировать child1, вы должны сделать cp child1 child2/child1 . Чтобы скопировать содержимое child1, вы должны сделать cp child1/* child2/* .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .