加快Linux文件拷贝速度的两大方法

糖果9220

糖果9220

2016-02-19 20:09

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐加快Linux文件拷贝速度的两大方法,无聊中的都看过来。

在进行Linux文件拷贝中,文件较多的时候拷贝的速度非常慢,那么有什么办法能够加快文件拷贝的速度呢?下面图老师小编就给大家介绍下加快Linux文件拷贝速度的方法。

 加快Linux文件拷贝速度的两大方法

第一种方法

首先,无论本地还是远程,需要移动或拷贝的文件较多且都不太大时,用cp命令和mv命令效率较低,可以先使用tar工具对将要拷贝/移动的内容进行打包/压缩,之后再进行拷贝/移动,最后再解包/解压缩。

另外,也是很关键的一个技巧,即,不必在tar打包/压缩完毕之后再进行拷贝,解包/解压缩,可以通过管道一边打包/压缩另一边执行拷贝解包/解压缩。

比如,tar命令可以和nc命令结合可以快速在两台机器之间传输文件和目录:

B机器:

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》 nc -l 5555 |tar -C /tmp/test/ -xf -《/p》 《p》

A机器:

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》tar cf - /tmp/test/ |nc B‘IP 5555 《/p》 《p》

上述步骤将A机器/tmp/test/下的内容拷贝到B机器对应的目录中,其中tar cf - /tmp/test/ |nc B’IP 5555 将内容边打包边通过管道和nc命令传输到由对应IP地址和5555端口传到B机器,nc -l 5555 |tar -C /tmp/test/ -xf - 监听本机的555端口,并将接收到的内容解包至指定的目录(-C参数指定目标目录)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

第二种方法

将tar与scp、ssh命令结合:

在A机打包后,复制到B机器并解包

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》tar -cf - /tmp/test | ssh B‘IP cd /tmp; tar -xf -《/p》 《p》

在A机打包,并将打包好的文件复制到B机

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》tar -cf - /tmp/test | ssh B’IP cd /tmp; cat - 》 test.tar《/p》 《p》tar -cf - /tmp/test | scp - 《a href=mailto:B‘USER@B’IP:/tmp》B‘USER@B’IP:/tmp《/a》《/p》 《p》

将A机的打包文件,复制到B机并解包

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》zcat test.tar | ssh B‘IP cd /tmp; tar -xf -《/p》 《p》

也可以直接在本地这么使用:

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》cd /tmp/test1《/p》 《p》tar -cf - 。 | (cd /tmp/test2 ; tar -xvpf -)《/p》 《p》

但有人试验后得出结论本地直接用cp较快

拷贝时除了拷贝单个文件还会拷贝目录,有时需要连同文件/目录的属性一同拷贝。可以在cp命令中使用-R参数递归拷贝目录,使用-p参数拷贝文件保留属性(默认是:mode,ownership,timestamps也可以通过 --preserve[=ATTR_LIST]指定要特别保留的属性如:context, links,xattr, all),使用-d参数拷贝文件保留连接。或者简单的使用-a参数(相当于使用-dR --preserve=all)

如果想看到拷贝大量小文件的进度可以写一个简单的小脚本:

代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

《/p》 《p》cd /tmp/test《/p》 《p》for i in *《/p》 《p》do《/p》 《p》cp $i 目标目录《/p》 《p》echo $i is ok.。。。《/p》 《p》done《/p》 《p》

最后补充一条不是技巧的技巧:在使用一个工具完成一项任务之前,先思考当前用的工具是不是最适合的工具?有没有更好的工具或办法?如果工具确实很适用于当前任务,那么在使用该工具时有没有特殊的技巧可以提高工作效率?(通常,查看帮助文档可有意外收获)。

上面就是加快文件拷贝速度的方法介绍了,如果你要拷贝的文件比较多又比较散的话,使用上面介绍的方法能够加快拷贝速度,不妨试试看吧。

展开更多 50%)
分享

猜你喜欢

加快Linux文件拷贝速度的两大方法

电脑入门
加快Linux文件拷贝速度的两大方法

Linux下保护VPS SSH账号安全的两大方法

电脑入门
Linux下保护VPS SSH账号安全的两大方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

拯救干枯秀发两大方法

美发
拯救干枯秀发两大方法

Deepin系统更新的两大方法

电脑入门
Deepin系统更新的两大方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Windows 7加快系统速度的9大方法

电脑入门
Windows 7加快系统速度的9大方法

两大方法让你告别色盲

疾病预防
两大方法让你告别色盲

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

这一切 忘不了你

这一切 忘不了你

Win2k下Jboss、Tomcat和Apache的集成

Win2k下Jboss、Tomcat和Apache的集成
下拉加载更多内容 ↓