我有两个具有相同结构的根文件夹:
如何将'Folder1'中的所有文件(包括其子文件夹中的文件)复制到另一个目的地名称'Folder2'。
'Folder2'与'Folder1'具有相同的结构,所有子文件夹都已在'Folder2'中创建。
答案 0 :(得分:0)
使用rsync工具
数据集:使用各自的子目录创建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
答案 1 :(得分:0)
一个简单的
cp -a /path/to/folder1/* /path/to/folder2
会做到这一点。该命令将检查folder1
中是否已存在folder2
的子文件夹(如果不存在则创建它),复制包含的文件并递归执行找到的任何子文件夹。
有关详细信息,请参阅the cp man page(您也可以通过发布man cp
在shell上本地阅读。)