你们中的大多数人已经注意到, cp
命令不会显示 复制进度 在复制文件/文件夹时。 当我复制一个大文件时 cp
命令,我真的不知道需要多长时间,或者当前复制的百分比是多少。 除了在复制大文件时查看终端中闪烁的光标图标和硬盘指示器之外,我不知道复制进度是否真的在进行。 不再! 这里是哪里 gcp
实用程序提供帮助。 gcp (G关闭的 cp) 是一款先进的文件复制工具,深受传统文件的启发 cp
命令实用程序,但具有一些附加功能。 它是完全免费的开源软件,在 GNU 通用公共许可证下发布。
不像 cp
命令,gcp 实用程序提供以下高级功能:
- 显示复制进度指示器,包括估计时间、当前文件速度等。
- 即使出现问题,gcp 也会继续复制。 它只会跳过有问题的文件复制并复制下一个文件。
- 它可以复制单个或多个文件或文件夹。
- gcp 记录其所有操作。 因此,我们可以很容易地找到哪些文件已成功复制。
- 如果您不小心取消了复制过程,它将保留记录。 它不会删除内容,而是保留部分复制的内容。 然后,您可以再次运行复制过程,它将复制您离开它的其余文件。
- 如果您在另一个副本已在运行时启动副本,则文件将添加到第一个队列中,这样可以避免您的硬盘驱动器一直移动其读/写头。
- 您可以保存您复制的文件列表,并稍后从该列表中再次复制它们。 当您要将相同的文件复制到多个目标时,它将非常有用。
推荐下载 – 免费备忘单:“Vim 备忘单”
在这个简短的指南中,我将向您展示如何在 Linux 和类 Unix 操作系统中安装和 gcp。
在 Linux 上安装 gcp
gcp 在 Debian 和 Ubuntu 的默认存储库中可用。 您只需从终端运行以下命令即可安装:
$ sudo apt-get install gcp
对于 Arch Linux 及其衍生产品,它在 AUR 中可用。 因此,您可以使用任何 AUR 助手安装它,例如 example 耶.
$ yay -S python-gcp-git
然后,安装 python-进度条 包,用于在复制文件时显示进度条。
$ yay -S python-progressbar
gcp 也可用 在 PyPI 上,你可以安装它 Pip 包管理器 如下所示:
$ pip3 install gcp
最后,安装 python-progressbar。
Debian/Ubuntu:
$ sudo apt-get install python-progressbar
如何在 Linux 中使用 gcp,高级文件复制器
gcp 的用法与 cp 命令的用法几乎相同。
gcp 的典型用法是:
gcp [OPTIONS] FILE DEST gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR
让我给你看一些实际的例子。 以下命令将复制的内容 目录1 到一个名为 目录2.
$ gcp Dir1/video.mp4 Dir2/
样本输出:
Copying 876.53 MiB 100% |############################| 30.08 MB/s Time: 0:00:30
正如您在上面的输出中看到的,gcp 命令显示了复制进度指示器,包括估计时间、当前文件速度等。这将使我们很容易找到真正发生的事情。
要复制多个文件,只需依次指定它们和目标目录,如下所示。
$ gcp file1 file2 Dir
要将文件夹复制到另一个文件夹,请使用 -r
像下面这样的标志。
$ gcp -r Dir1/ Dir2/
如果您不想看到进度条,可以使用禁用它 --no-progress
旗帜。
$ gcp --no-progress source destination
如果目标文件夹已经有相同的文件,您将收到以下警告消息:
File [/home/sk/Dir2/video.mp4] already exists, skipping it ! /! THE FOLLOWING FILES WERE *NOT* SUCCESSFULY COPIED: - /home/sk/Dir1/video.mp4 -- Please check journal: /home/sk/.gcp/journal
您可以验证日志文件之前的文件处理是否成功完成。
$ cat /home/sk/.gcp/journal
输出:
/home/sk/Dir1/video.mp4 OK:
如果输出是 好的,复制过程成功。 如果输出是 部分的这意味着文件被复制了,但是出了点问题(例如更改文件的权限)。 失败的 意思是 – 文件没有被复制。
有关 gcp 实用程序的更多详细信息,请运行以下命令:
$ gcp --help
或者,参考手册页。
$ man gcp
更新:
进度条为 cp
和 mv
可以使用名为的补丁轻松添加命令 “高级副本”. 有关详细信息,请查看以下链接。
高级复制 – 在 Linux 中为 cp 和 mv 命令添加进度条
资源:
- 如何使用“pv”命令通过管道监控数据的进度
- 如何在 Linux 和 Unix 中通过网络快速传输大文件