linux mv 递归拷贝,奇技淫巧 - 给Linux中的cp和mv命令中添加进度条的高级拷贝

GNU cp和GNU mv命令用于在GNU/Linux操作系统中复制和移动文件和目录。这两个命令缺少的一个特性是它们不显示任何进度条。如果复制一个大文件或目录,您就不知道完成复制过程需要多长时间,也不知道复制的数据所占的百分比。还有您将看不到当前正在复制哪个文件或者已经复制了多少个文件。你将看到的只是闪烁的光标和硬盘驱动器LED指示灯。多亏了Advanced Copy (Gnu Coreutils的一个补丁),我们现在可以在Linux中的cp和mv命令中添加进度条,并在复制和/或移动大文件和目录时显示进度条。

高级拷贝(Advanced Copy)是GNU cp和GNU mv程序的一个模块。它会添加一个进度条,并提供一些有关复制或移动文件和文件夹时发生情况的信息。不仅是进度条,它还显示数据传输速率、估计剩余时间和当前正在复制的文件名。最后,您将看到一个简短的摘要,说明复制了多少个文件以及复制这些文件所用的时间。

1566f0d736ed331dfa404abca147c5bc.png

安装“Advanced Copy”补丁,将进度条添加到Linux的cp和mv命令中

cp和mv命令是GNU coreutils的一部分。所以你需要从这里下载最新的GNU源代码。

linuxmi@linuxmi:~/www.linuxmi.com$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz

使用命令解压下载档案:

linuxmi@linuxmi:~/www.linuxmi.com$ tar xJf coreutils-8.32.tar.xz

这个命令将在当前目录中提取一个名为coreutils-8.32的文件夹中的coreutils存档。cd进去:

linuxmi@linuxmi:~/www.linuxmi.com$ cd coreutils-8.32/

使用以下命令下载Advanced Copy补丁:

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch

abafbc1fbfff4eef228f7742c2cd3eaf.png

最后,通过逐个运行以下命令应用补丁:

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ patch -p1 -i advcpmv-0.8-8.32.patch

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ ./configure

327a04984d5774a65af942934463382b.png

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ make

14a0dcdcfd03f579a6e4b1c37eabc9b9.png

现在将在coreuths -8.32/src文件夹中创建两个新的补丁二进制文件cp和mv。只需像下面这样将它们复制到你的$PATH:

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ sudo cp src/cp /usr/local/bin/cp

[sudo] linuxmi 的密码:

linuxmi@linuxmi:~/www.linuxmi.com/coreutils-8.32$ sudo cp src/mv /usr/local/bin/mv

就这样。cp和mv命令现在有了进度条功能。

当你在复制或移动文件和目录时想要一个进度条,只需添加 -g 标签,如下所示:

linuxmi@linuxmi:~/www.linuxmi.com$ cp -g /home/linuxmi/Fedora-Silverblue-ostree-x86_64-32-1.6.iso /home/linuxmi/www.linuxmi.com/

或者使用 --progress-bar 标签:

linuxmi@linuxmi:~/www.linuxmi.com$ cp --progress-bar /home/linuxmi/Fedora-Silverblue-ostree-x86_64-32-1.6.iso /home/linuxmi/www.linuxmi.com/

样例输出如下图:

16a45d01a297b660c2c68e9a0003ff8c.gif

在Linux中向cp和mv命令添加进度条

在复制过程的最后,您将看到复制了多少文件,复制文件花费了多长时间,以及每秒的数据传输速率。怎样,很不错吧?

1 files ( 2.5 GiB) copied in 42.0 seconds ( 61.1 MiB/s).

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

$ cp -gR directory1/ directory2/

类似地,使用mv命令移动文件,运行:

$ mv -g archlinux.iso mydownload/

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

$ mv --progress-bar archlinux.iso mydownload/

使用mv命令移动目录:

$ mv -g directory1/ directory2/

您还可以编辑~/.bashrc文件创建别名来节省几个按键:

$ nano ~/.bashrc

在末尾添加以下几行:

aliascp='/usr/local/bin/cp -gR'

alias mv='/usr/local/bin/mv -g'

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

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

$ source ~/.bashrc

从现在开始,您可以只使用cp或mv命令,而不需要使用 -g (或 --progress-bar)标志。

请注意,原始程序没有被覆盖。您仍然可以在任何时候通过/usr/bin/cp或/usr/bin/mv调用它们

如果您经常复制或移动大量大文件和目录,那么在cp和mv命令中添加进度条功能是个很好的方法。您现在可以看到在复制和移动文件时到底发生了什么,而不是时时盯着屏幕。

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webgl 着色器_如何在WebAssembly中使用WebGL着色器

webgl 着色器by Dan Ruta通过Dan Ruta 在WebAssembly中使用WebGL着色器 (Using WebGL shaders in WebAssembly) WebAssembly is blazing fast for number crunching, game engines, and many other things, but nothing can quite compare to the extreme parallelization of …

【洛谷P1966】火柴排队

两列排序后将编号一一对应 归并排序求逆序对 &#xff08;每一次交换就去掉一个逆序对&#xff09; 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #define ll long long5 using namespace std;6 const int N100100;7 const ll P99999997;8 …

python字符串补空格输出_Python去除空格,Python中常见字符串去除空格的方法总结...

今天小编就为大家分享一篇关于Python去除字符串前后空格的几种方法&#xff0c;小编觉得内容挺不错的&#xff0c;现在分享给大家&#xff0c;具有很好的参考价值&#xff0c;需要的朋友一起跟随小编来看看吧&#xff1a; Python去除空格方法一&#xff1a; strip()方法&#x…

Alan Walker MV 合辑01 by defender

Alan Walker MV合辑 出来啦&#xff01; 百度网盘下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/10WSool70XBe_8tJOae8V-w 提取码&#xff1a;uckq 地址查看Microsoft Onedrive Download Address:  BE DELETED Google Drive Download Address&#xff1a; …

scanf函数具体解释与缓冲区

1.基本信息 函数原型&#xff1a; int scanf( char *format, args, ...); 函数返回值&#xff1a; 读入并赋给args的数据个数。遇到文件结束返回EOF&#xff0c;出错返回0。 函数功能&#xff1a; scanf函数是格式化输入函数&#xff0c;它从标准输入设备(键盘)读取输入的信息。…

linux中win文件转为unix,如何将文本文件从Windows转换为Unix

从Unix转换到Windows时&#xff0c;我得到正确的输出;但是&#xff0c;从Windows到Unix时&#xff0c;我得到了一些奇怪的输出。我认为我必须允许的是删除回车\ r。虽然这不起作用。当我运行代码后打开文本文件时&#xff0c;我得到了一些奇怪的结果&#xff0c;第一行是正确的…

程序员伪造一年工作经验_试火—如何伪造程序员

程序员伪造一年工作经验2017年9月6日 (6 September 2017) Sweat is running down my face. I’m staring down a blank sublime text document. What on earth am I doing? My hands are resting above the keyboard of my MacBook pro.汗水顺着我的脸。 我盯着一个空白的崇高…

在unity中设置多种怪物数据_Unity可编程渲染管线(SRP)系列(三)——光照(单通道 正向渲染)...

本文重点:1、漫反射着色2、支持方向光、点光源和聚光灯3、每帧允许16个可见光源4、每个对象最多计算四个像素光和四个顶点光这是涵盖Unity可编写脚本的渲染管线的教程系列的第三部分。这次&#xff0c;我们将通过一个Drawcall为每个对象最多着色8个灯光来增加对漫反射光照的支持…

Java内部类的定义和使用

为什么要用到内部类&#xff1a; 在java开发学习中我们经常会碰到内部类。内部类又有很多的优势&#xff1a;首先举一个简单的例子&#xff0c;如果你想实现一个接口&#xff0c;但是这个接口中的一个方法和你构想的这个类中的一个方法名称参数相同&#xff0c;你应该怎么办&am…

蛋清打发奶油状

在做蛋糕、冰淇凌、面包之类的时候往往都需要奶油状蛋清&#xff0c;让蛋糕、面包更蓬松&#xff0c;冰激凌也可以使用其当做奶油来用。用料 鸡蛋4个 根据用量选择盐(只做冰激凌用奶油放)5g(根据蛋量)白醋(可以不放&#xff0c;根据喜好)5g(根据蛋量)白砂糖40g(分三次放)根据…

react构建_您应该了解的有关React的一切:开始构建所需的基础知识

react构建by Scott Domes由斯科特多姆斯(Scott Domes) 您应该了解的有关React的一切&#xff1a;开始构建所需的基础知识 (Everything You Should Know About React: The Basics You Need to Start Building) Are you curious about React and haven’t had the chance to lea…

荣新linux培训,51CTO博客-专业IT技术博客创作平台-技术成就梦想

切换用户 su - root文件夹管理 mkdir(新建文件夹) rmdir(删除空目录)文件管理 touch(新建文件) rm(删除文件)rm -rf(删除文件夹) cat(查询文件)文件文件夹 mv(剪切文件) cp(复制文件)默认拷贝文件&#xff0c;cp -r 就可以拷贝文件夹啦批量建文件 touch /root/tes…

Educational Codeforces Round 33 (Rated for Div. 2) E. Counting Arrays

题目链接 题意&#xff1a;给你两个数x,yx,yx,y,让你构造一些长为yyy的数列&#xff0c;让这个数列的累乘为xxx&#xff0c;输出方案数。 思路:考虑对xxx进行质因数分解&#xff0c;设某个质因子PiP_iPi​的的幂为kkk,则这个质因子的贡献就相当于把kkk个PiP_iPi​放到yyy个盒子…

《面向对象分析与设计》一第2章 什么是面向对象分析

第2章 什么是面向对象分析 面向对象分析&#xff08;ObjectOriented Analysis&#xff0c;OOA&#xff09;&#xff0c;就是运用面向对象方法进行系统分析。它是软件生命周期的一个阶段&#xff0c;具有一般分析方法所共同具有的内容、目标及策略。但是OOA强调运用面向对象方…

hql可以使用distinct吗_输送食品可以使用白色PVC输送带吗?

食品&#xff0c;是给人们吃到肚子里的&#xff0c;因此不管在加工环节、制造环节还是其他环节&#xff0c;都需要做好食品的安全问题。根据不同的食品&#xff0c;其制造的环境也不同&#xff0c;所使用到的食品输送带的材质也是不一样的&#xff0c;这些是需要根据输送的食品…

htc one m7 linux驱动,HTC One M7官方RUU固件包(可救砖)

在网上找了找关于HTC One M7 (801e)的官方ruu固件包还不多&#xff0c;找了一些&#xff0c;不过有些不能下载&#xff0c;在这里整理了几款可以下载的官方ruu包&#xff0c;这些包都是官方原版的&#xff0c;都是支持线刷的&#xff0c;大家可以下载下来备用了&#xff0c;也可…

emoji .png_根据我对3.5GB聊天记录的分析,Emoji开发人员使用最多

emoji .pngby Evaristo Caraballo通过Evaristo Caraballo 根据我对3.5GB聊天记录的分析&#xff0c;Emoji开发人员使用最多 (The Emoji developers use most — based on my analysis of 3.5GB of chat logs) Emoji have drastically changed the way we communicate in socia…

forward和redirect的区别

1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求…

CF662C Binary Table(FWT)

[Luogu-CF662C] FWT_xor 题目描述 有一个 \(n\) 行 \(m\) 列的表格&#xff0c;每个元素都是 $0/1 $&#xff0c;每次操作可以选择一行或一列&#xff0c;把 \(0/1\) 翻转&#xff0c;即把 \(0\) 换为 \(1\) &#xff0c;把 \(1\) 换为 \(0\) 。请问经过若干次操作后&#xff0…

c语言fmin最小公倍数,matlab小函数

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;(记得按字母序索引)矩阵向量化操作A(:)拉成一个向量 ($a_{11},a_{21},…$)&#xff0c;注意先列后行repmat用途&#xff1a;创建由小型矩阵重复组合成的矩阵&#…