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

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

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

cpgmvg命令有现在进度条的功能。

每当你在复制或移动文件和目录时需要进度条时,只需添加-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+oCtl+x保存并关闭文件。

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

$ source ~/.bashrc

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

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

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

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

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

相关推荐

  • 解决Ubuntu DNS覆盖写入127.0.0.53

    问题: ubuntu22.04解析网址时报错如图所示: 因为/etc/resolve.conf中存在 nameserver 127.0.0.53回环地址造成循环引用 原因: ubuntu17.0之后特有,systemd-resolvd服务会一直覆盖 解决方法: 1、修改resolv.config文件中的nameserver(选做),修改完后DNS解析就能恢复…

    2022年12月1日
    3.1K00
  • 如何升级ESXi补丁?

    由于VMware近期针对虚拟机逃逸漏洞发行了补丁,最近很多客户都在更新ESXi补丁,借此机会写一个升级补丁文档,如何升级ESXi补丁? 一、登录Vmware官网下载最新的补丁包: 下载地址:https://my.vmware.com/cn/group/vmware/patch#search 下载日期最新的那个ESXi670-202011002.zip。该补丁…

    2023年2月4日
    1.3K00
  • Pmail——仅用一分钟就可以搭建好一个邮箱服务器

    有一个自己的邮箱,是不是光想着就觉得很酷。在之前,我介绍过一个邮箱poste.io 的搭建过程。虽然说是用docker但是其实搭建起来还是挺麻烦的。今天再来介绍一个搭建简单的邮局系统 pmail。 项目的优势: 1、部署简单 2、资源占用极小 编译后二进制文件仅15MB,运行过程中占用内存10M以内。 3、安全方面 支持dkim、spf校验。正确配置的情况下…

    2024年7月2日
    2.8K00
  • 在Linux中执行yum命令失败,提示“HTTP Error 404 -Not Found Trying other mirror”错误怎么办?

    问题描述 在Linux系统的ECS实例中执行yum命令(如yum -y install XXX、yum list、yum search XXX等)失败,出现类似如下错误信息。 问题原因 出现该问题可能有以下原因: 解决方案 切换CentOS 6/8的源地址 CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作…

    2023年11月28日
    76000
  • systemd:实现 Linux 服务 Crash 后自动重启systemd:

    Systemd 允许你对服务进行配置,以便在服务崩溃时自动重启。 一个典型的单元文件是这样的: 在上面的例子中,如果守护进程崩溃或被杀死,systemd 不会去管它。 不过,你可以让 systemd 自动重启守护进程,以防它崩溃或意外被杀掉。为此,你可以在 [Service] 中添加 Restart 选项。典型的示例如…

    2023年8月14日
    2.1K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信