Linux设置cp命令显示进度条

news/2024/10/10 4:25:37

1、前言

实现原理:
重新安装cp、mv命令,显示进度条

测试环境:Centos7.6

查看当前系统下的coreutils工具包的版本

rpm -qa | grep -w coreutils

当前版本8.22

2、下载coreutils安装包

不需要太新,8.32即可

wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz

3、下载补丁包

利用GitHub的开源项目advcpmv来实现cp与mv的进度条

http://github.com/jarun/advcpmv

下载版本:advcpmv-0.8-8.32.需要与coreutils安装的版本要保持一致
下载补丁包:

wget https://github.com/jarun/advcpmv/archive/refs/heads/master.zip

4、安装coreutils软件包和补丁包

先安装依赖包:

yum install gcc gcc-c++ unzip patch

解压软件包:

tar -Jxf coreutils-8.32.tar.xz
unzip master.zip

拷贝补丁包:
将补丁包拷贝到coreutils的安装目录下:

cp advcpmv-master/advcpmv-0.8-8.32.patch coreutils-8.32/

安装coreutils:
使用patch命令加载补丁包

cd coreutils-8.32
patch -p1 -i advcpmv-0.8-8.32.patch

安装coreutils软件包:

./configure FORCE_UNSAFE_CONFIGURE=1
make

5、替换原cp和mv命令

替换前先备份一下命令

cp /usr/bin/cp{,.bak}
cp /usr/bin/mv{,.bak}

因为原命令不在了,所以需要将新的命令复制到/usr/bin下面:

cd coreutils-8.32
src/cp src/cp /usr/bin/cp
src/cp src/mv /usr/bin/mv

修改配置文件设置别名,其实也可以不用设置别名,只要使用cp和mv的时候,手动加上-ig就能看到进度条了:

vim /etc/profile
#在文件末尾增加以下两行
alias cp='cp -ig'
alias mv='mv -ig'

使配置文件生效:

source /etc/profile

6、测试命令效果

cp
mv

这里直接用dd 命令快速生成一个1GB的文件:

dd if=/dev/zero of=filename bs=1M count=1000

然后复制查看效果:

cp filename filename1

image

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

浅拷贝与深拷贝

深拷贝,两个指针(PA,PB)指向同一块内存,PA变化,PB也跟着变化。 深拷贝,两个指针(PA,PB)指向不同内存,PA变化,PB不受影响。以Python写个demoimport copy# 原始列表 original_list = [[1, 2, 3], [4, 5, 6]]# 浅拷贝 shallow_copy = copy.copy(original_list)# 修改浅拷贝…

git 客户端使用

1.新建目录a,进入到a目录,鼠标右键Open git Bash here 2.克隆到本地:git clone git@124.221.230.131:/home/git/dataCollect.git 3.进入本地git仓库: cd dataCollect/ 4.查看分支:git branch 5.更新代码:git pull 6.进入本地git仓库,新建文件test.txt 7.提交代码到本地g…

overthewire - Bandit

随笔记 overthewire的密码会在一定周期更换。 Bandit Level 0 直接SSH连接2220端口 ssh -p 2220 bandit0@localhost 密码:bandit0ls 查看目录,看到readme,读取文件。 cat readme 获取bandit1密码 NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL Bandit Level 0 → Level 1 ls 查看目录下…

对C语言符号的一些冷门知识运用的剖析和总结

把概念和原理讲清楚、进阶、C语言符号符号 目录符号注释奇怪的注释C风格的注释无法嵌套一些特殊的注释注释的规则建议反斜杠\反斜杠有续行的作用,但要注意续行后不能添加空格回车也能起到换行的作用,那续行符的意义在哪?反斜杠的转义功能单引号和双引号字面值,字符串,字符,字…

k8s核心组件详解和分层架构

k8s核心组件master中的核心组件api-server(接口服务,基于rest风格开放k8s接口的服务) kube-controller-manager(管理各个类型的控制器,针对k8s中的各种资源进行管理)cloud-controller-manager(云控制管理器,第三方云平台提供的控制器,api对接管理功能) kube-scheduler…

前端框架开发之Niu框架——从零学框架的小白

起因: 从2018年6月一直到我重新提笔,6年时间。这六年时间,我见证了IT的兴衰,见证了小众框架LayUI框架的重新更新,见证了vue、angular、react等框架的主流。----博客园老牛大讲堂初衷: 今年我突发灵感,想要设计一个网站,作为程序员却"提笔忘字",就连最基本的…

Blazor流程编排的艺术:深入Z.Blazor.Diagrams库的使用与实践

为现代网页应用开发提供动力的其中一个重要方面就是前端框架的强大功能与灵活性。而在.NET生态中,Blazor以其独特的工作方式和优势逐渐获得了开发者们的青睐。今天,在这篇文章中,我将带你深入探索一个基于Blazor的优秀库——Z.Blazor.Diagrams,我们将了解它是如何帮助开发者…

【未整合】数学 day4.2

博弈论 Nim游戏 对于 \(n=2\),\(a_1=a_2\),后手可以“模仿”先手,使得后手必胜。 对于 \(a_1\ne a_2\),先手可以让自己进入“模仿期”,使得先手必胜。 结论:若 \(\oplus a_i=0\),先手必败,否则必胜。很神奇的东西,证明需要群论知识。 发现石子的合并满足上面四条性质,…