当前位置: 首页 > news >正文

海量文件拷贝(Windows/Linux)

【Windows】

1、本地拷贝推荐:FastCopy

2、网络拷贝推荐:RichCopy


【Linux】

1、rsync 命令

1
2
3
4
5
6
7
8
9
10
11
12
#删除海量文件目录
mkdir  empty_dir
rsync  -a --delete empty_dir/  yourdirectory/
 
#本地拷贝
rsync  -a  /some/path/to/src/  /other/path/to/dest/
 
#网络拷贝
rsync  -a -e  ssh  /path/to/dir/  remote_server: /path/to/remotedir
 
#网速IO慢于磁盘IO
rsync  -azP -e  ssh  /path/to/dir/  remote_server: /path/to/remotedir

2、tar 命令结合管道

1
2
3
4
5
#本地拷贝(-C 前面的短横表示解包文件来自标准输入)
tar  -c  /path/to/dir  tar  -xvf - -C  /absolute/path/to/remotedir
 
#网络拷贝
tar  -c  /path/to/dir  ssh  remote_server  'tar -xvf - -C /absolute/path/to/remotedir'

3、rsync 统计值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
rsync  -a --stats --dry-run  /lib  ~ /fake
 
Number of files: 19,375 (reg: 16,015,  dir : 3,052, link: 308)
Number of created files: 19,375 (reg: 16,015,  dir : 3,052, link: 308)
Number of deleted files: 0
Number of regular files transferred: 16,015
Total  file  size: 830,561,043 bytes     #含普通文件、链接文件的大小,目录大小计数为0
Total transferred  file  size: 830,555,045 bytes     #普通文件大小
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation  time : 0.001 seconds
File list transfer  time : 0.000 seconds
Total bytes sent: 471,220
Total bytes received: 61,277
 
sent 471,220 bytes  received 61,277 bytes  1,064,994.00 bytes /sec
total size is 830,561,043  speedup is 1,559.75 (DRY RUN)
 
# 普通文件大小
# find 的 print0 参数与 xargs -0 参数是为了避免文件名中的特殊字符
sudo  find  /lib  - type  f -print0 |  xargs  -0  ls  -lad |  awk  -F  ' '  'BEGIN{sum=0} {sum+=$5} END{printf "%d bytes\n", sum}'
830555045 bytes
 
# 目录文件大小
# 注意目录文件大小与目录一级文件数量有关,可能大于4096(磁盘块大小)
# 所以 4096 * 目录个数 <= 目录文件大小之和
sudo  find  /lib  - type  d -print0 |  xargs  -0  ls  -lad |  awk  -F  ' '  'BEGIN{sum=0} {sum+=$5} END{printf "%d bytes\n", sum}'
12656640 bytes
 
# 链接文件大小
sudo  find  /lib  - type  l -print0 |  xargs  -0  ls  -lad |  awk  -F  ' '  'BEGIN{sum=0} {sum+=$5} END{printf "%d bytes\n", sum}'
5998 bytes


【相关阅读】

1、Linux 下统计文件夹大小及文件数量

2、查看Linux磁盘块大小


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1958382如需转载请自行联系原作者


RQSLT

相关文章:

  • VS.net和Reflector 图标解释
  • EPEL源
  • centos7 修改mac地址
  • c# 4.0新特性一览
  • 荣光医院医道会比赛策略
  • CSS布局模型 之 浮动模型(浮动的工作原理和清除浮动技巧?)
  • sql优化方案,总结的比较全面
  • 在此之前的软件系统做开发—需求的研究框架
  • 【安全牛学习笔记】字典、在线密码破解-hydra
  • 配置daocloud加速
  • 局域网远程服务器重启
  • Android之SlideMenu实例Demo
  • Linux SPI总线和设备驱动架构之一:系统概述【转】
  • 一些服务器的常用命令的基本操作
  • 38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
  • [Vue CLI 3] 配置解析之 css.extract
  • fetch 从初识到应用
  • Kibana配置logstash,报表一体化
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Shadow DOM 内部构造及如何构建独立组件
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • spring学习第二天
  • Vue--数据传输
  • 你真的知道 == 和 equals 的区别吗?
  • 算法之不定期更新(一)(2018-04-12)
  • 微信公众号开发小记——5.python微信红包
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • No resource identifier found for attribute,RxJava之zip操作符
  • 仓管云——企业云erp功能有哪些?
  • ​如何在iOS手机上查看应用日志
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (阿里云万网)-域名注册购买实名流程
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)构建dubbo分布式平台-平台功能导图
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (七)c52学习之旅-中断
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .net 使用ajax控件后如何调用前端脚本
  • .NET是什么
  • ??eclipse的安装配置问题!??
  • @test注解_Spring 自定义注解你了解过吗?
  • [2018-01-08] Python强化周的第一天
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [AIGC 大数据基础]hive浅谈
  • [AIGC] Java 和 Kotlin 的区别
  • [AIGC] Redis基础命令集详细介绍
  • [Angular] 笔记 6:ngStyle
  • [Git 1]基本操作与协同开发
  • [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]
  • [java] 23种设计模式之责任链模式