2015-09-29 4 views
0

У меня есть две корневые папки с такой же структурой, как и что:Копирование только файлов, включая файлы в подпапках

  • Folder1
    • SubFolder1
      • File1
      • File2
    • SubFolder2
      • file3
      • file4
    • SubFolder3
      • file5
      • file6
    • File7
    • File8

Как скопировать все файлы в 'Folder1', включая файлы в подпапке, в другое имя получателя 'Folder2'.

«Folder2» имеет одинаковую структуру с «Folder1», и вся вложенная папка уже создана в «Folder2». Использование

ответ

0

Простой

cp -a /path/to/folder1/* /path/to/folder2 

будет делать трюк. Команда будет проверять, может ли подпапка folder1 уже существовать в folder2 (создайте ее, если она не будет), скопируйте файлы, содержащиеся и рекурсивно сделайте это для любых найденных подпапок.

Для получения дополнительной информации см. the cp man page (которую вы также можете прочитать локально на корпусе, выпустив man cp).

+0

Спасибо @Markus, простой способ сделать это. :) – dangquang1020

0

Сделать из RSync инструмента

Datasetup: Создание Folder1 и folder2 с соответствующими подразделами

:~/User> ls -laRt Folder1/ 
Folder1/: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f7 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f8 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub3 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub2 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub1 

Folder1/sub3: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f5 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f6 

Folder1/sub2: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f3 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f4 

Folder1/sub1: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f1 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f2 


:~/User> ls -laRt Folder2 
drwxr-xr-x 2 test test 4096 2015-09-29 09:10 sub1 
drwxr-xr-x 2 test test 4096 2015-09-29 09:10 sub2 
drwxr-xr-x 2 test test 4096 2015-09-29 09:10 sub3 

копию с помощью Rsync

:~/User> rsync -avh Folder1/ Folder2/ 
building file list ... done 
./ 
f7 
f8 
sub1/ 
sub1/f1 
sub1/f2 
sub2/ 
sub2/f3 
sub2/f4 
sub3/ 
sub3/f5 
sub3/f6 

sent 537 bytes received 220 bytes 1.51K bytes/sec 
total size is 0 speedup is 0.00 

Проверьте

:~/User> ls -laRt Folder2 
Folder2: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f7 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f8 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub3 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub2 
drwxr-xr-x 2 test test 4096 2015-09-29 09:08 sub1 

Folder2/sub3: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f5 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f6 

Folder2/sub2: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f3 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f4 

Folder2/sub1: 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f1 
-rw-r--r-- 1 test test 0 2015-09-29 09:08 f2 
+0

Почему heck должен сжимать переданные файлы для локальной копии? –

+0

argh ... моя ошибка – SriniV

+0

И есть гораздо более простое решение ... \ * caugh \ * см. Мой ответ ... –

Смежные вопросы