linux中为cp和mv命令添加进度条

安装高级复制补丁以在 Linux 中向 cp 和 mv 命令添加进度条

cp 和 mv 命令是GNU coreutils. 所以你需要GNU coreutils从这里下载最新的。

> wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz
> tar xvJf coreutils-9.0.tar.xz
> cd coreutils-9.0/
> wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.9-9.0.patch
> patch -p1 -i advcpmv-0.9-9.0.patch
> export FORCE_UNSAFE_CONFIGURE=1
> ./configure
> make

现在两个新的补丁的二进制文件即cp与mv将在中创建coreutils-9.0/src的文件夹。只需将它们复制到你的 $PATH 中,如下所示:

$ cp ./src/cp /usr/local/bin/cpg 
$ cp ./src/mv /usr/local/bin/mvg 

该cpg和mvg命令有现在进度条的功能。

每当你在复制或移动文件和目录时需要进度条时,只需添加-g如下标志:

$ cpg -g nifi-1.14.0-bin.tar.gz test/ 

或使用--progress-bar标志:

$ cpg --progress-bar nifi-1.14.0-bin.tar.gz test/ 

示例输出:

[root@rumenz.com ~]# cpg -g nifi-1.14.0-bin.tar.gz test/
Copying at 119.3 MiB/s (about 0h 0m 7s remaining)
nifi-1.14.0-bin.tar.gz                                                               959.5 MiB /   1.3 GiB
[============================================>                           ] 71.0 %

在复制过程结束时,你将看到复制了多少文件、复制文件所用的时间以及每秒的数据传输速率。

1 files (  1.3 GiB) copied in 25.5 seconds ( 53.0 MiB/s). 

要递归复制目录及其子目录,只需添加-R标志:

$ cpg -gR directory1/ directory2/ 

同样,要使用mv命令移动文件,请运行:

$ mvg -g nifi-1.14.0-bin.tar.gz test/ 

或者,使用--progress-bar标志:

$ mvg --progress-bar nifi-1.14.0-bin.tar.gz test/ 

要使用mv命令移动目录,请使用:

$ mvg -g directory1/ directory2/ 

你还可以创建别名。编辑~/.bashrc文件:

$ nano ~/.bashrc

在最后添加以下几行:

alias cp='/usr/local/bin/cpg -gR'
alias mv='/usr/local/bin/mvg -g'

按Ctrl+o和Ctl+x保存并关闭文件。

现在运行以下命令使更改生效:

$ source ~/.bashrc

从现在开始,你可以只使用没有(或)标志的cp或mv命令。-g --progress-bar

请注意,原始程序不会被覆盖。你仍然可以随时通过/usr/bin/cp 或 呼叫他们 /usr/bin/mv。

如果你经常复制或移动大量大文件和目录,推荐向cp和mv命令添加进度条功能。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9057

赞 (0)
郭靖的头像郭靖
上一篇 2023年6月15日 下午4:39
下一篇 2023年6月16日 下午4:40

相关推荐

  • linux(Mac)下查看文件编码及修改编码

    查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1. 在Vim中可以直接查看文件编码 即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: 这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileenc…

    2023年8月15日
    2.0K00
  • Linux访问远程FTP服务器并下载文件

    一、安装ftp客户端工具 二、客户端连接ftp服务器 三、上传下载文件 1、下载文件 备注: ①文件都下载到了linux 主机的当前目录下。比如,在 /home/ftp下运行的ftp命令,则文件都下载到了/home/ftp 下。②如果想制定下载路径,需要在ftp用到 lcd 命令 2、上传文件 备注: 上传文件都来自于主机的当前目录下。比如,在 /home/…

    2023年11月8日
    1.8K00
  • Linux系统之安装uptime-kuma服务器监控面板

    一、检查本地环境 1.1 检查本地操作系统版本检查本地操作系统版本 1.2 检查系统内核版本 检查系统内核版本 1.3 检查系统是否安装Node.js 检查系统是否安装Node.js 二、部署Node.js 环境 2.1 下载Node.js安装包 下载Node.js安装包 2.2 解压Node.js安装包 解压Node.js安装包 2.3 复制二进制文件 将…

    2023年9月21日
    1.8K00
  • MySQL 如何使用离线模式维护服务器

    离线模式 作为 DBA,最常见的任务之一就是批量处理 MySQL 服务的启停或其他一些活动。在停止 MySQL 服务前,我们可能需要检查是否有活动连接;如果有,我们可能需要把它们全部杀死。通常,我们使用 pt-kill 杀死应用连接或使用 SELECT 语句查询准备杀死语句。例如: MySQL 有一个名为 offline_mode 的变量…

    2023年10月20日
    1.5K00
  • 禅道安装

    禅道介绍 禅道项目管理软件是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。 禅道属于开源项目,有收费版,本次以开源版9.1.2进行搭建 禅道官网:http://www.zentao.net/ 提示:本地环境我们没有安装mysql,安装禅道环境需要LNMP或者LA…

    2023年4月27日
    1.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信