具有进度条但不如rsync重的Unix复制命令


14

我需要复制很多文件。通常,我使用rsync是因为我将-aP选项传递给了rsync,然后我可以看到(a)还有多少文件要处理,以及(b)每个单独文件有多少被复制。

但是,rsync还会对校验和做很多事情,以验证是否已复制文件。但是我现在真的不需要。但通常cp不包括上述剩余文件数,这非常有帮助。

是否有类似的东西cp包括剩余文件数量的进度,但是还不如rsync

Answers:



6

那么这是您建议的合适别名吗?

cp_p() {
    rsync -WavP $1 $2
}

-W-不使用增量传输算法
-a存档模式
-v详细
-P显示进度条并保留部分文件

我在某些地方发现的另一种选择。需要pv(pipeviewer)软件包。

cp_pv() {
    pv -per $1 > $2
}

-p显示进度
-e显示eta
-r显示速率
-n显示数字输出

/ edit我现在已经测试了上述别名,并可以确认它们是否有效。以前有错别字


这似乎仅支持将一个文件复制到命名文件而不是目录中。如果我要复制多个文件怎么办?还是目录?
einpoklum 2013年

好吧,这些只是别名,因此您可以尝试使用内部的实际原始命令来查看最适合您的命令。我确定rsync支持目录和其他路径指定。您可以轻松自定义别名以使其适合您的特定情况。如果可以使用,请分享。IIRC我以前在目录中使用它都没有问题。
维杰2013年

3

您可以在cp cmd上拍打-v选项,或者将scp用于本地主机


-v是一个好的开始,它非常有用,但是我想知道有关剩余多少文件/已被复制等的更多信息
Rory

2
然后,您需要Stefan Wolff的解决方案。
egorgry


1

加密开销太大了,但是您可以scp在本地使用:

scp <file-from> <file-to>

复制时将显示进度。


在OSX上的Atleast,scp默认情况下不显示任何进度条,因为它cp涉及本地文件时在后台使用。
2011年

1

gcp是不错的工具。在这里,您有PyPI软件包,但也可以在发行版软件包中找到(例如,在debian / ubuntu中 apt-get install gcp执行此操作)。

还有一篇关于gcp的不错的教程文章

$ gcp -r Solaar / solaar2

正在复制7.53 MiB 100%| ############################ | 134.92 M / s时间:00:00:00
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.