喵♂呜 的博客

一个刚毕业就当爹的程序猿 正在迷雾中寻找道路...

Linux上如何快速复制和删除大文件或大量小文件

在Linux上快速删除和复制文件

删除大量小文件/大文件

删除大量小文件

  • 新建空目录 用rsync同步目标目录
    1
    2
    3
    mkdir /tmp/empty
    rsync --delete-before -d /tmp/empty/ 目标目录/
    rm -rf /tmp/empty

删除大文件

  • 新建空文件 用rsync同步文件
    1
    2
    3
    touch /tmp/zore
    rsync -a --delete-before --progress --stats /tmp/zore 目标文件
    rm -rf /tmp/zore

复制大量文件

单机模式

1
tar -C 原始目录 -cvf - . | tar -C 目标目录 -xvf -

跨机器模式

  • 接收端 端口随意 没被占用就行
1
nc -l 2121 | tar -C 目标目录/ -zxvf -
  • 发送端
1
tar -cvf - 原始目录/ | nc 接收端地址 2121
  • SSH + gzip 快速复制
1
tar -cvf - * | gzip | ssh 目标IP "gzip -d | tar -xC /home/project"
  • SSH + pigz 快速复制
1
tar -cvf - DATA | pigz -9 -p 线程数 | ssh -c arcfour128 目标IP "gzip -d | tar -xC /data"

欢迎关注我的其它发布渠道