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之外的文件夹内容也复制过去。

如果后面的两个通配符* 能引用前面的两个*的值就能解决问题了,如何引用
展开
 我来答
kaixingui2012
推荐于2017-09-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6405万
展开全部
简单的办法是采用打包再解包
如:
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
百度网友faadf46
高粉答主

2020-02-04 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:74.2万
展开全部

1、打开SecureCRT,选择要登录的系统IP地址, 点击连接。

2、出现下图的界面说明连接成功。

3、然后我们使用cd 命名切换到要复制的文件所在的目录,比如说目录/123。

4、然后我们使用ls 命令列出文件夹里面的文件, 比如说目录123里面的123.txt 文件。

5、通过命令我们可以看到456目录里面是空的。

6、假如我们要把123.txt 复制到456文件夹里面,那么就使用命令cp 要复制的文件的路径 要复制到的文件夹路径,如下图所示,把123.txt 复制到456文件夹 ,然后ls 查看已经复制成功了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宋丹hh
2014-09-22 · TA获得超过867个赞
知道小有建树答主
回答量:251
采纳率:100%
帮助的人:46.4万
展开全部
这事。。。在干嘛?
已经解决了是吗?
是有所问必有所答。。。
更多追问追答
追问
没解决,在线等
追答
同时将文件file1、file2、file3与目录dir1复制到dir2
   cp -R file1 file2 file3 dir1 dir2

用cp -Rvf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fptan
2014-09-22 · TA获得超过984个赞
知道大有可为答主
回答量:1150
采纳率:100%
帮助的人:716万
展开全部
cp /home/* /mnt/

呢?
追问
实际句子是:cp -fv /mnt/data/file.bk/*/*/csvZip/* /mnt/www/html/*/*/csvZip/
通配文件夹下面还有特定的csvZip文件夹, 如果直接一个* 会把csvZip之外的文件夹内容也复制过去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式