大浪做网站,网站策划薪资,wordpress 网易云,wordpress登陆不了一直返回首页cp和mv可能是大家日常中使用最多的Linux命令之一。但是有一个突出的问题是这两个命令都不会有任何提示信息#xff0c;这在操作大文件时候只能干等。可能大家对此已经习以为常#xff0c;但是其实上也有解决解决方法#xff0c;本文我们就介绍一个Gnu Coreutils(cp和mv的源代… cp和mv可能是大家日常中使用最多的Linux命令之一。但是有一个突出的问题是这两个命令都不会有任何提示信息这在操作大文件时候只能干等。可能大家对此已经习以为常但是其实上也有解决解决方法本文我们就介绍一个Gnu Coreutils(cp和mv的源代码包)的补丁Advanced Copy用于给其增加进度条的功能。Advanced Copy是cp和mv 程序mod。它通过给cp和mv添加了一个进度条在进行文件(夹)复制或移动操作时候提供进度条数据传输速率估计的剩余时间以及当前正在操作文件名等信息。最后还会提供一个操作的信息摘要显示操作多少个文件以及操作花费多长时间。安装下载源码cp和mv命令是GNU coreutils的一部分。为了给其添加插件需要下载器源码并编译安装。我们可以从GNU的软件ftp下载 coreutils或者通过源码Git仓库cgit,或者镜像站 gitweb 和GitHub下载最新版本为8.32。curl -O ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz使用以下命令解压源码包tar xvJf coreutils-8.32.tar.xz这样所有源码都会解压到coreutils-8.32文件夹中。cd coreutils-8.32/给其增加Advanced Copy修补程序(通过github仓库下载githubjarun/advcpmv)添加补丁对下载的补丁包使用下面命令来打补丁patch -p1 -i ../advcpmv/advcpmv-0.8-8.32.patch编译运行编译程序对打补丁的源码目录编译./configuremake编译完成后在该编译目录coreutils-8.32/src的文件夹中会生成应用程序cp和mv。使用增加系统路径只需将其替换系统现有的命令中如下所示sudo cp src/cp /usr/local/bin/cpsudo cp src/mv /usr/local/bin/mv这样cp和mv命令就附带了进度条的功能。在复制或移动文件和目录时需要进度条只需添加-g参数或者--progress-bar标志cp -g archlinux.iso mydownload/cp --progress-bar archlinux.iso mydownload/就可以显示进度条Copying at 25.7 MiB/s (about 0h 0m 1s remaining)archlinux.iso 568.1 MiB / 646.0 MiB[ ] 87.9 %在复制过程结束时可以看到复制了多少文件复制文件花费了多长时间以及每秒的数据传输速率。1 files (305.0 MiB) copied in 1.8 seconds (172.2 MiB/s)要递归复制目录及其子目录只需添加-Rflagcp -gR directory1/ directory2/同样要使用mv命令移动文件请运行mv -g archlinux.iso mydownload/或者使用--progress-bar标志mv --progress-bar archlinux.iso mydownload/要使用mv命令移动目录同样使用-g参数mv -g directory1/ directory2/添加别名还可以创建别名以保存一些按键。编辑~/.bashrc文件vim ~/.bashrc末尾添加以下行alias cp/usr/local/bin/cp -gRalias mv/usr/local/bin/mv -g按Shiftzz保存并关闭文件。现在运行source命令以使更改立即生效source ~/.bashrc这样在cp或mv默认就附带-g(或--progress-bar)标志的命令而无需手动增加该标志。要使用默认不带精度条的程序可以通过/usr/bin/cp或 /usr/bin/mv使用即可。总结如果经常复制或移动许多大文件和目录cp和mv操作中添加进度条功能是非常有用的功能。本文中我们介绍了一个Advanced Copy补丁用来实现该功能可以让我随时了解操作的情况而不是在哪里傻等。