linux cp命令,如何复制多个目录下文件到 对应多个目录下面
比如/home/a/文件1到/mnt/a//home/a/文件2到/mnt/a//home/b/文件3到/mnt/b//home/b/文件4到/mnt/b/类似这个意思:...
比如 /home/a/文件1 到 /mnt/a/
/home/a/文件2 到 /mnt/a/
/home/b/文件3 到 /mnt/b/
/home/b/文件4 到 /mnt/b/
类似这个意思:cp /home/*/* /mnt/*/ (当然这句是错误的不能实现上面要求,只是用来表达个意思)
实际句子是:cp -fv /mnt/data/file.bk/*/*/csvZip/* /mnt/www/html/*/*/csvZip/
通配文件夹下面还有特定的csvZip文件夹, 如果直接一个* 会把csvZip之外的文件夹内容也复制过去。
如果后面的两个通配符* 能引用前面的两个*的值就能解决问题了,如何引用 展开
/home/a/文件2 到 /mnt/a/
/home/b/文件3 到 /mnt/b/
/home/b/文件4 到 /mnt/b/
类似这个意思:cp /home/*/* /mnt/*/ (当然这句是错误的不能实现上面要求,只是用来表达个意思)
实际句子是:cp -fv /mnt/data/file.bk/*/*/csvZip/* /mnt/www/html/*/*/csvZip/
通配文件夹下面还有特定的csvZip文件夹, 如果直接一个* 会把csvZip之外的文件夹内容也复制过去。
如果后面的两个通配符* 能引用前面的两个*的值就能解决问题了,如何引用 展开
4个回答
展开全部
简单的办法是采用打包再解包
如:
cd /mnt/data/file.bk
tar cvf /tmp/bakfile.tar */*/csvZip
然后/mnt/www/html
tar xvf /tmp/bakfile.tar
只是这样要求磁盘空间要足够才可以!
另一种办法是写shell脚本进行操作
cd /mnt/data/file.bk
for dir in `find . -type d -name "csvZip"`
do
cp $dir/* /mnt/www/html/$dir
done
如:
cd /mnt/data/file.bk
tar cvf /tmp/bakfile.tar */*/csvZip
然后/mnt/www/html
tar xvf /tmp/bakfile.tar
只是这样要求磁盘空间要足够才可以!
另一种办法是写shell脚本进行操作
cd /mnt/data/file.bk
for dir in `find . -type d -name "csvZip"`
do
cp $dir/* /mnt/www/html/$dir
done
更多追问追答
追问
这倒确实能实现,可惜文件太多,1T左右全是小文件,估计得花好几天。。。。。
追答
另一种办法是写shell脚本进行操作
cd /mnt/data/file.bk
for dir in `find . -type d -name "csvZip"`
do
cp $dir/* /mnt/www/html/$dir
done
展开全部
这事。。。在干嘛?
已经解决了是吗?
是有所问必有所答。。。
已经解决了是吗?
是有所问必有所答。。。
更多追问追答
追问
没解决,在线等
追答
同时将文件file1、file2、file3与目录dir1复制到dir2
cp -R file1 file2 file3 dir1 dir2
用cp -Rvf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cp /home/* /mnt/
呢?
呢?
追问
实际句子是:cp -fv /mnt/data/file.bk/*/*/csvZip/* /mnt/www/html/*/*/csvZip/
通配文件夹下面还有特定的csvZip文件夹, 如果直接一个* 会把csvZip之外的文件夹内容也复制过去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询