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

方法一:scp命令(推荐)

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

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

方法二:rsync命令

# rsync -av --progress /mnt /home

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

方法三:coreutils工具

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

$ wgethttp://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz$ tar xvzf coreutils-8.4.tar.gz$ cd coreutils-8.4/$ wgethttp://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

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"

# chmod +x cp.sh

示例:

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

注:

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

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

linux拷贝文件夹时获取进度,实现本机拷贝显示进度的方法相关推荐

  1. Linux CP文件夹略过目录的解决

    在Ubuntu Linux复制文件夹时出现一个问题,做个笔记,希望能给刚入门的菜鸟学习一下(见图1). 出现略过目录: www_linuxidc_com@linuxidc-Aspire-3680:~$ ...

  2. linux kernel 文件夹,Linux kernel 文件夹说明

    Linux 内核代码的目录结构 arch: 包含和硬件体系相关的的代码,每种硬件平台占一个相应的目录,如i386,arm, arm64, powerpc,mips等. block: 块设备驱动程序I/ ...

  3. 在linux上备份文件夹在哪里找,Linux 备份 文件夹的权限 然后在其他机器进行恢复...

    Study From https://www.cnblogs.com/chenshoubiao/p/4780987.html 用到的命令 getfacl 和 setfacl 备份 getfacl -R ...

  4. Linux拷贝文件夹

    参考博文: linux下cp目录时排除一个或者多个目录的方法 1. cp cp -r 和-R功能上是等价的.不加-r或者-R的时候,只拷贝文件,不拷贝文件夹:加上后则会拷贝文件夹--包括下一级的子文件 ...

  5. linux系统拷贝文件到桌面,centos拷贝文件夹命令

    如何在CentOS系统利用命令行操作文件以及文件夹 下面总结一些linux,CentOS下面常用的命令: cd pwd NO1. 显示当前路径 [root@rehat root]# pwd NO2. ...

  6. linux遍历文件夹下所有文件大小,Linux系统遍历文件夹 获取文件大小的操作(C语言实现)...

    /** linux 下遍历文件夹以及获取文件大小 */ #include #include #include #include /** 获取文件大小,但是文件大小不能超过2G ,该方法不推荐使用 */ ...

  7. linux拷贝文件夹怎么删除,linux文件及文件夹拷贝移动删除

    linux文件及文件夹拷贝移动删除 文件拷贝 文件夹拷贝 文件拷贝并重命名 文件夹拷贝并重命名 文件移动 文件夹移动 文件移动并重命名 文件夹移动并重命名 文件删除 文件夹删除 文件拷贝 cp tes ...

  8. linux ftp 550 下载,linux ftp服务器上传文件夹时提示550错误问题解决方法

    linux ftp服务器上传文件夹时提示550错误问题解决方法 标签: linux ftp服务器 550 中文文件夹上传错误 问题 分类: 计算机 2010-11-06 22:47 前几天在实验室搭配 ...

  9. linux带路径拷贝文件夹,带有路径的Linux复制文件

    最近sh 拷贝文件夹,需要在成千上万的3至4级目录中找到所有sh脚本文件并进行备份. 在备份过程中,必须维护sh脚本文件所在的目录结构. 您要专门编写一个shell吗?太麻烦了sh 拷贝文件夹,我之前 ...

最新文章

  1. 算法设计与分析之循环与递归
  2. RocketMQ命令整理
  3. 实验记录:vsftp整合mysql-pam管理虚拟账号
  4. C++中随机函数rand()和srand()的用法
  5. MySQL优化之推荐使用规范
  6. Android studio删除sdk的方法(图文教程)
  7. 【C语言】用指针描述数组,实现冒泡法排序
  8. C#中的数组和C++中数组的区别
  9. 字节跳动面试:java后端面试宝典
  10. 开发者的盛宴Google I/O 2016
  11. CONSUL install 和启动
  12. 深度技术 Windows 7 SP1 x64 极速装机版 V2013.05
  13. 35、html制作QQ彩贝热销时装页面(注意:需要素材)
  14. 新版白话空间统计(11):ArcGIS中的PZ值标尺
  15. spark 程序配置日志级别 通过log4j
  16. 艾可森 mysql,国足进世界杯有戏!巴西归化球员表决心:中国对我好,我必须努力...
  17. 怎么在contenteditable可编辑的div插入图片
  18. wi-fi 频宽设置_为客人设置Wi-Fi的10种方法
  19. 【华为上机真题】分子弹
  20. 面试:GET 请求能上传图片吗,已解决

热门文章

  1. ROS-TF库-写一个TransformBroadcaster发布
  2. BVH树simple
  3. 51单片机串口通讯c语言程序,如何使用51单片机实现串口通信
  4. 学好PS,走到哪里都不怕
  5. Win11系统怎么给C盘分配更多的空间?
  6. 2018考研数学一解析 ​​​
  7. 什么是伪代码,它如何使你成为更好的程序员?
  8. Ribbon--概述
  9. 股票投资长期持续稳定盈利 ​(干货)
  10. tplink703n无线打印服务器,TP-Link TL-WR703N无线路由器客户端模式(Client)设置上网