我需要在我的 Linux 机器上复制大文件。
例子:
cp source.txt target.txt
我想创建进度条,以显示每个副本文件的副本仍在进行中
例子”
cp file file1
复制文件 > 文件 1 .........
cp moon mars
复制月亮>火星.......
我需要在我的 Linux 机器上复制大文件。
例子:
cp source.txt target.txt
我想创建进度条,以显示每个副本文件的副本仍在进行中
例子”
cp file file1
复制文件 > 文件 1 .........
cp moon mars
复制月亮>火星.......
简而言之,您不会找到
cp
进度条输出的本机功能。为什么? 很多原因。但是,您有一些选择:使用不同的工具。
rsync
,正如@user1404316 提到的那样--progress
:如果您不需要额外的语义
cp
并rsync
照顾,请pv
通过重定向创建一个带有 ("Pipe Viewer")的新文件stdout
:如果您确实需要额外的语义,您可以使用
progress
,尽管它没有具体给出条形图。它附加到已经运行的进程,因此您可以像这样调用它:另一个选项是
gcp
,它完全符合您对进度条的要求:另一个选项滥用
curl
了处理file://
url 的能力:你可以写一个shell脚本
rsync
是一个复制程序,具有复制大文件的强大功能,包括一个--progress
功能,它具有一种传输中压缩的形式,以减少传输中的数据(从而节省复制时间):rsync
还具有恢复可能由于网络断开而中断的副本的功能。您需要从 options 开始--partial --append-verify
。我能想到的用于通过网络复制的唯一缺点rsync
是它需要安装在两台计算机上,即。发送者和接收者。man
有关详细信息和所有其他功能,请参阅其页面...如果您由于某种原因无法安装
rsync
,或者不想安装,一个很好的简单替代方法是pv
管道查看器命令,它完全符合您的要求。pv
还包括许多可视化选项。有关所有可用的好东西,请参见其man
页面。以下是一些常用的选项: