如何在 GNU 发行版上测量或跟踪命令的进度?

如何在 GNU 发行版上测量或跟踪命令的进度?

如果我跑

cp file1 file2

我希望能够跟踪它的进度。有没有什么命令可以实现这一点?

rsync --progress

有这个,但是是否有通用的,可用于“任何”命令的东西?

答案1

您可以使用它pv来查看任何可以通过管道传输数据的命令的进度。

例如http://www.catonmat.net/blog/unix-utilities-pipe-viewer/解释一下。但是,这对 cp 不起作用,因为它不通过管道运行。

除此之外,据我所知没有通用机制。这很困难,因为“进度”对不同的命令可能有不同的含义。

顺便说一句,cp有一个选项-v可以列出复制的文件,可以让您大致了解其进度。

编辑:

虽然它可能不会直接回答您的问题:您也可以使用图形文件管理器。大多数图形文件管理器在复制/移动文件时都会提供一个很好的进度条(例如 KDE 的 konqueror 就是这样的)。

答案2

尝试附加--verbose到您感兴趣的命令,这通常会产生有关进度的更多信息。

答案3

(也许不是你想要的,因为它不适用于任何命令,但)来获取进度表cp,我有时会滥用SCP

scp localhost:/path/to/source_file /path/to/destination

您将需要在源或目标上使用“localhost:”前缀,以便SCP不会回到标准cp

相关内容