在Ubuntu或linux中为coreutils工具包的cp和mv命令添加进度条

1、查看当前最新的coreutils版本:

http://ftp.gnu.org/gnu/coreutils/

2、安装coreutils过程

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

tar -xJf coreutils-9.4.tar.xz

cd coreutils-9.4/

对照上面的,下载对应coreutils版本的advcpmv版本。

https://github.com/jarun/advcpmv

wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.9-9.4.patch

patch -p1 -i advcpmv-0.9-9.4.patch

./configure FORCE_UNSAFE_CONFIGURE=1

configure: creating ./config.status

config.status: creating Makefile

config.status: creating po/Makefile.in

config.status: creating gnulib-tests/Makefile

config.status: creating lib/config.h

config.status: executing depfiles commands

config.status: executing po-directories commands

config.status: creating po/POTFILES

config.status: creating po/Makefile

make

make[4]: Leaving directory '/root/coreutils-9.4/gnulib-tests'

make[3]: Leaving directory '/root/coreutils-9.4/gnulib-tests'

make[2]: Leaving directory '/root/coreutils-9.4/gnulib-tests'

make[1]: Leaving directory '/root/coreutils-9.4'
注:直接编译会出错,需要增加FORCE_UNSAFE_CONFIGURE=1 参数配置。

checking whether mknod can create fifo without root privileges... configure: error: in '/root/coreutils-9.4':

configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)

See 'config.log' for more details

替代当前系统命令,有必要可以先备份一下原来的,替换测试后,再将原有版本删除。

$ sudo cp src/cp /usr/local/bin/cp

$ sudo cp src/mv /usr/local/bin/mv

接着我们只需要在使用cp和mv命令的时候加上-g参数就可以显示进度条了。

为了方便起见我们可以在.bashrc文件中设置alias

alias cp='cp -ig'

alias mv='mv -ig'

至此,完成。

相关推荐
yzx9910132 分钟前
关于PHP学习
运维·爬虫·自动化·php
没有余地 EliasJie5 分钟前
Ubuntu/Debian 搭建 Nginx RTMP 服务器全攻略
服务器·ubuntu·debian
自由鬼8 分钟前
AI赋能操作系统:通往智能运维的未来
linux·运维·服务器·人工智能·程序人生·ai·操作系统
Tjyuking15 分钟前
OS架构整理
运维·c++·缓存·架构·操作系统
x晕x27 分钟前
Qt 消息弹窗 Toast
linux·c++·windows·qt·mac
鹏大师运维42 分钟前
MBR与GPT分区表深度解析:硬盘分区该怎么选?
linux·运维·服务器·gpt·国产操作系统·mbr·统信uos
三雷科技1 小时前
window中qemu使用(安装ubuntu系统)
linux·运维·ubuntu
hh真是个慢性子1 小时前
MySQL自动化安装工具-mysqldeploy
运维·数据库·mysql·golang·自动化
十五年专注C++开发1 小时前
MakeInstaller: 一款麒麟操作系统安装包制作工具
linux·c++·打包工具·安装包制作·麒麟系统
野原鑫之祝1 小时前
嵌入式开发学习———Linux环境下IO进程线程学习(一)
linux·c语言·学习·vim·嵌入式