作者:linux

出处:http://linux.cn/thread/11868/1/1/

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

几周前,我们讨论了高级拷贝(修改于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命令是个不错的选择。系统管理员会喜欢上源文件列表的功能的。它是必备工具。

你曾经使用过gcp或者类cp的高级命令行工具吗?可以把你的使用心得跟我们分享。


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

译者:runningwater 校对:jasminepeng

本文由 LCTT 原创翻译,Linux中国 荣誉推出

本文地址:http://linux.cn/thread/11868/1/1/

[ 欢迎转载,敬请在正文中标注并保留原文/译文链接和作者/译者等信息。 ]
本文系“作者/译者/校对”原创,转载敬请注明。本文转载遵循CC协议规定
 该贴已经同步到 linux的微博

gcp – 源于CP的高级命令行文件拷贝工具的更多相关文章

  1. 关于Linux操作系统的命令行文件拷贝

    关于Linux操作系统的命令行文件拷贝 起因:服务器的加密狗秘钥过期导致无法使用服务,需要将服务器里面的秘钥文件发送给授权人员.本以为十分容易,打开服务器,图形界面点击发送即可.没想到服务器的界面是命 ...

  2. HDFS命令行文件操作

    Hadoop文件操作命令形式为 hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命 ...

  3. linux下命令行文件路径隐藏

    https://askubuntu.com/questions/16728/hide-current-working-directory-in-terminal 在~.,bashrc里添加 expor ...

  4. Linux基本配置和管理 3 ---- Linux命令行文本处理工具

    1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...

  5. Linux入门基础 #10:命令行文本处理工具

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  6. Linux命令行文本处理工具

    关键字搜索: grep  关键字  指定文件 -i   搜索时忽略大小写 -n  显示结果所在行 -v  显示不包含关键字的行 基于列的文本处理: cut -d: -f1 /etc/passwd -d ...

  7. sed高级命令

    所谓高级,主要是指这里将要提到的命令都能改变sed执行或者控制的流程顺序(sed通常都是一行被读入模式空间,并用脚本中的sed命令一个接一个的应用于那一行). 高级sed命令分成3个组: 1)处理多行 ...

  8. Linux命令行文本工具

    浏览文件 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可以上下翻页) head 查看文件的头几行(默认10行) tail 查看文件的尾几行 ...

  9. 逼格高又实用的Linux高级命令,开发运维都要懂!

    在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭. 像一些高级点的命令,比如说 Xargs 命令.管道 ...

随机推荐

  1. IOS - NSDate 自己挖的坑,自己跳

    NSDate:5是坑啊啊! NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDat ...

  2. HTTP 请求报文和响应报文分析和解刨!!

    http请求和响应报文分析 一>http请求报文主要包括三个部分:1.请求行:2.请求头:3;请求体: 1,请求行一般包括三个部分:请求方式:请求url : http协议版本. 请求方法:大部分 ...

  3. Project Euler 14 Longest Collatz sequence

    题意:对于任意一个数 N ,寻找在 100,0000 之内按照规则( N 为奇数 N = N * 3 + 1 ,N 为偶数 N = N / 2 ,直到 N = 1 时的步数 )步数的最大值 思路:记忆 ...

  4. 备份/还原mysql数据库

    有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...

  5. alg--分治法

    分治--分而治之, 把大的问题分成n个小的问题,分别处理,然后汇总小问题的结果. 具体介绍可以参考这位大哥的blog: https://www.cnblogs.com/steven_oyj/archi ...

  6. html--onreadystatechange属性

  7. nyoj 119 士兵杀敌(三) 【线段树】【单点更新】

    题意:. .. 策略如题. 思路:我们先如果仅仅求某一区间的最大值.我们仅仅须要利用线段树的模板.仅仅须要初始化和询问的时候小小的改动一下.改成祖先结点储存的不再是子节点的和而是两个子节点之间的最大值 ...

  8. 人人都能当大厨的语音做菜神器——demo试用

    开发一款语音做菜软件的想法在我脑海里闪烁了非常久,一直苦于没有时间.趁着这几天老板的项目接近了尾声,我也有时间把我当初的想法付诸于实践. 可能有朋友对我的想法还不甚了解,我这里简介一下,具体的介绍就请 ...

  9. 防火墙设置对外开放port

    今天在部署项目时,遇到项目组其它人重整了server上的iis.结果外部訪问不了所部属的项目,通过一些渠道找到了设置方法 例如以下报错的截图: 原因是"入站ICMP规则"被重整了, ...

  10. linux下关于IPC(进程间通信)

    linux下进程间通信的主要几种方式 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许 ...