gcp–源于CP的高级命令行文件拷贝工具

系统 Linux
一位读者在注释中指出其他实用工具不仅也提供了基本的cp命令功能,而且还提供cp不具有的高级功能。所以,这篇文章里,我们将会讨论非常相似的命令行工具-gcp。

几周前,我们讨论了高级拷贝(修改于cp命令,让其可以显示复制进度条)。一位读者在注释中指出其他实用工具不仅也提供了基本的cp命令功能,而且还提供cp不具有的高级功能。所以,这篇文章里,我们将会讨论非常相似的命令行工具-gcp


gcp–高级命令行文件拷贝器

根据操作手册介绍,gcp是一款高级命令行文件拷贝工具软件,其灵感来自于标准的 cp命令, 但它提供了像进度条显示、源文件列表、拷贝过程中出现错误文件不中断继续拷贝等cp所不具有的各项高级功能。

下面是部分功能列表:

测试环境

  • 操作系统 – Ubuntu 13.04
  • Shell工具 – Bash 4.2.45
  • 应用程序 – gcp 0.1.3

简短的教程

下面是一些gcp命令的例子:

1. 复制进度显示

gcp命令提供了进度显示功能,以便用户能监控到复制操作的当前状态。

下面是例子:

可以看到,gcp命令显示了如文件大小、复制完成的百分比、传输速率和复制操作还需多久完成等细节。

2. 使用-r选项递归拷贝目录

要递归拷贝完整的目录,可以使用-r选项。

示例如下:

可以看到,gcp命令显示了完整文件夹复制情况的进度条。

3. 精心设计的错误描述显示

如遇到错误,gcp命令会显示拷贝失败的文件的错误信息。

示例如下:

可以看到,gcp命令列出了详细的错误消息,即August Rush.avi文件已经在目标目录中存在,拷贝失败。但这个错误并不会影响其它文件的正常拷贝操作。

4. 使用-v选项输出详细信息

详细选项-v参数可以用来跟踪gcp命令执行时的所有详细消息。

示例如下 :

可以看到,使用-v选项可以输出很多细节信息。

5. 创建和使用源列表

gcp命令的一个很炫的功能就是可以创建源文件列表,以供以后再次使用。

例如,在下面的拷贝操作中,我使用-sources-save选项来保存一个源文件列表。

本例中,列表名叫SOURCES_SAVE。你可以用–sources-list选项参数来确认已保存的列表。

可以看到列表名SOURCES_SAVE已保存。

现在,删除我们在第一步中拷贝的文件:

重复第一步的操作,但不要加上源文件路径名,使用–sources-load选项参数来从SOURCES_SAVE列表文件中加载源文件名。

可以看到,gcp命令从SOURCES_SAVE列表文件中读取源文件名,并且正常的执行了拷贝操作。

下面是关于源文件列表的其它选项参数:

gcp命令还提供了各式名样的其它有用选项。要查看完整的选项,请阅读gcp帮助主页。


下载/安装/配置

下面是关于gcp命令的一些主要链接站点:

你可以通过使用像yum、apt-get等的命令行包管理工具来下载和安装gcp命令。Ubuntu用户也可以使用Ubuntu软件中心来下载和安装这个工具。


优点

  • 状态条显示和源文件列表是这个工具的核心。
  • 跳过有问题的文件,不影响正常文件的复制操作。
  • 跟标准的cp命令的用法很相似。

不足

  • 在复制文件夹的时候,要是能显示每个文件的复制状态,那就更好了。
  • 在大多数Linux发行版本中没有预先安装。

结论

如果您厌倦了使用标准cp命令拷贝大文件时的盲目等待,gcp命令是个不错的选择。系统管理员会喜欢上源文件列表的功能的。它是必备工具。

via: http://mylinuxbook.com/gcp-advanced-command-line-file-copier-inspired-by-cp/

 

责任编辑:奔跑的冰淇淋 来源: Linux中国
相关推荐

2016-10-20 09:57:58

Linux转换工具

2021-05-20 12:16:17

Linux命令Axel

2019-02-27 09:24:48

命令行文件Linux

2020-12-11 06:44:16

命令行工具开发

2020-12-10 16:16:08

工具代码开发

2011-01-18 19:11:26

Postfix命令行

2021-11-26 09:58:37

Linux命令浏览器

2023-06-09 07:45:29

Kuberneteskubectl

2009-12-23 14:14:09

Linux高级命令行

2013-11-15 09:43:15

JDK工具

2017-03-03 10:10:15

2013-12-09 14:29:13

OpenStack命令行工具API

2010-11-24 17:12:17

MySQL命令行

2023-03-17 11:33:18

Linux

2010-02-04 15:17:48

Linux wget

2017-06-15 10:32:56

OracleDBV命令行工具

2018-04-03 13:50:27

Linux容器命令行工具

2015-09-02 15:47:05

命令行fdupesLinux

2013-05-21 14:58:08

系统监视glances开源

2015-07-01 09:15:46

linuxQuora命令行
点赞
收藏

51CTO技术栈公众号