实现本机拷贝带进度的方法:

方法一:scp命令(推荐)
  

# scp -r /mnt root@127.0.0.1:/home     (拷贝文件夹要加参数 -r,拷贝文件不需要)

(显示拷贝速度、剩余时间、已拷贝大小、进度%,不显示总大小,一般速度为10M/s)

方法二:rsync命令

# rsync -av --progress /mnt /home

(显示拷贝速度、剩余时间、已拷贝大小、进度%,不显示总大小,一般速度为300kb/s)

方法三:coreutils工具

让cp显示进度的工具,拷贝文件夹也是可以的

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz
$ tar xvzf coreutils-8.4.tar.gz
$ cd coreutils-8.4/
$ wget http://beatex.org/web/advcopy/advcpmv-0.3-8.4.patch
$ patch -p1 -i advcpmv-0.3-8.4.patch
$ ./configure
$ make
$ sudo cp src/cp /usr/bin/cp
$ sudo cp src/mv /usr/bin/mv
 
用的时候要切换到root模式才行

# cp -r -g /root /home/

(显示总大小、速度、剩余时间、不显示已拷贝大小,一般速度200kb/s)

方法四:cp.sh脚本

(显示速度、进度、不显示总大小、剩余时间、已拷贝大小,一般速度300kb-1M/s不等)

# vi cp.sh
 
#!/bin/bash

trap 'exit_fun' 2

usage(){
        echo "Usage: `basename $0` \"src file\" \"dst file\""
        exit 1
}

exit_fun(){
        echo -e "\033[?25h"
        kill -9 $(ps -ef|awk '/ [c]p /{print $2}') &>/dev/null
        exit 1
}

[ "$#" -ne "2" ] && usage
[ -d "$2" ] && k=${2%%/}/`basename $1` || k=$2
fromsize=`ls -s $1|cut -d" " -f1`
cp $1 $k &
start=`date +%s`
sleep 0.2
echo -ne "\033[?25l"

while :;do
        tosize=`ls -s $k|cut -d" " -f1`
        x=`echo "$tosize $fromsize"|awk '{print int($1*100/$2)}'`
        [ $x -eq 99 ] && x=100
        echo -n "["
        for((i=0;i<x;i=$i+2));do echo -n "=";done
        echo -n ">"
        for((j=i;j<=99;j=$j+2));do echo -n " ";done
        now=$[`date +%s` - $start]
        [ $now -eq 0 ] && now=1
        avg=$[$tosize/$now]
        printf "] %4s%% %4sKb/s" $i $avg
        [ $x -ge 100 ] && break
        sleep 0.1
        echo -ne "\r"
done
echo -e "\033[?25h"

:wq

# chmod +x cp.sh

示例:

# ./cp.sh /mnt/a.tar.gz /home

注:

不能拷贝文件夹,只能拷贝单个文件

转载于:https://blog.51cto.com/yangzhiming/1033043

实现本机拷贝带进度的方法相关推荐

  1. linux拷贝文件夹时获取进度,实现本机拷贝显示进度的方法

    实现本机拷贝显示进度的方法: 方法一:scp命令(推荐) # scp -r /mntroot@127.0.0.1:/home(拷贝文件夹要加参数 -r,拷贝文件不需要) (显示拷贝速度.剩余时间.已拷 ...

  2. [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)...

    /// <summary> /// 通过调用MSSQL的SQLDMO.DLL文件来实现备份数据库 /// 1.首先在在项目中引用SQLDMO.DLL文件. /// 2.在引用中的SQLDM ...

  3. 带进度条的x5WebView

    我们在使用webview加载网页的时候都希望顶部都有个进度条显示加载进度,由于在Android 4.4以下版本的Webview使用的是WebKit内核,,而在Android 4.4及其以上版本使用的是 ...

  4. DayZ服务器一机多服的设置方法教程

    DayZ服务器一机多服的设置方法教程 我是艾西上期我们讲到DAYZ游戏架设且可以正常进入游戏以及设置 今天跟大家分享DAYAZ服务器一机多服的设置方法教程 直接上干活看了上一期的小伙伴可以直接跟着步骤 ...

  5. Android更新带进度条的通知栏

    在网上查询了下,Android版本号更新通知栏带进度条,醉了,基本都是复制过来.有的代码不全,连源代码下载都没有,有下载也须要积分.还不能用.真黑心啊!! 之前自己也写过自己定义通知栏Notifica ...

  6. 详解死机的原因和预防方法

    详解死机的原因和预防方法 详解死机的原因和预防方法 如今的计算机已经接近全面普及的程度了,它给人们在工作和学习上提供了极大的方便,不过,计算机的"死机"对于普通的计算机用户来说,却 ...

  7. 用MediaPlayer做个带进度条可后台的音乐播放器

    传送到github看源码 下载apk试用 密码:rukn 前言 想在天朝听音乐还是有些难度的, 一般来说, 两三个app还是要的. 那何不尝试自己做个手机播放器, 听个爽呢?!今天就带大家先做个简单的 ...

  8. Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)

    转载请注明地址:http://blog.csdn.net/xiaanming/article/details/10298163 很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己 ...

  9. 【MFC】带进度条的状态栏

    00. 目录 文章目录 00. 目录 01. 案例概述 02. 开发环境 03. 关键技术 04. 程序设计 05. 秘笈心法 06. 源码下载 07. 附录 01. 案例概述 状态栏多用于显示程序执 ...

最新文章

  1. linux设置ulimit值永久生效
  2. 《黑客秘笈——渗透测试实用指南(第2版)》目录—导读
  3. mysql对其他IP授权访问
  4. Libra白皮书解读
  5. python中sorted_Python中sorted()方法的用法
  6. 华菱重卡仪表指示说明_新一代创虎重卡登场!LNG车型将配玉柴燃气发动机
  7. 上传文件插件(plupload)
  8. 2019中国(黄石)工业互联网创新发展大会将于11月召开
  9. 关于栈的链式存储结构
  10. php服务器错误日志在哪里看,PHP取服务器错误日志
  11. [转载] python在内网服务器安装第三方库
  12. Postdoctoral Position
  13. 管理新语:新员工进来,竟然连起码的技能培训都没有
  14. 智能机器人比巴和智伴哪个好_毛爸聊玩具:金鹰卡通出品的麦咭机器人,白送我都不要...
  15. 【学习笔记】C51 keil v4 流水灯简单代码的编写
  16. B站下载视频之you-get的使用
  17. 使用paddlepaddle进行手写数字识别
  18. esp32➡遥控篇➡turtlesim➡mobot➡turtlebot3
  19. 交换机配置--进入web页面
  20. Python Curses

热门文章

  1. [js高手之路]原型对象(prototype)与原型链相关属性与方法详解
  2. 数据库实现,以及工厂方法模式实现
  3. SubSonic中RecordBaseT.Load(IDataReader dataReader)与LoadAndCloseReader(IDataReader dataReader)的使用区别...
  4. QT消息/事件循环机制与多线程的关系
  5. WindowsAPI-Findwindow函数和FindWindowEx用法
  6. c#中一个进程启动另一个进程并传递参数
  7. Qt--基础图形绘制
  8. 我总结的几种简单的调用Com组件的方法
  9. mysql 数据日志分析_基于mysql数据库的日志分析系统
  10. ‘ping‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。