找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1545

积分

0

好友

233

主题
发表于 10 小时前 | 查看: 2| 回复: 0

在 Linux 服务器上进行文件备份或迁移时,最令人焦虑的莫过于面对一个长时间运行的 cpmv 命令,却无法得知任务进度。尤其在处理数十 GB 的大文件时,光标静止不动,无法预估剩余时间,体验非常不友好。为此,社区开发者提供了一个名为 advcpmv 的增强补丁,安装后即可为复制和移动命令添加直观的进度显示。

advcpmv进度条示意图

什么是 advcpmv

advcpmv 的核心原理是为 GNU Coreutils 中的 cpmv 命令源码打上补丁并重新编译。安装完成后,系统会新增 cpgmvg 两个命令,通过 -g 参数即可在终端中启用图形化进度条,极大提升了 Linux 下文件操作的透明度和可控性。

功能与使用示例

advcpmv实际使用效果

1. 复制单个大文件

cpg -g movie.mkv /backup/

命令执行后,终端会动态显示如下信息:

[======>     ] 45% (4.5G/10G) 60MB/s 还剩1分钟

你可以清晰看到完成百分比、已传输数据量、实时速度以及预估剩余时间。

2. 递归复制整个目录

cpg -gR documents/ backup_docs/

与原生命令不同,cpg 在复制目录时会显示整体进度,而非最后一个文件的进度:

正在复制... [========>    ] 70% 已处理:3200/5000个文件

3. 移动文件

mvg -g database.db /new_location/

移动文件时同样支持进度显示,效果与复制命令一致。

4. 配置别名(推荐)
为了不改变原有操作习惯,可以在 ~/.bashrc~/.bash_aliases 文件中设置别名:

alias cp='cpg -g'
alias mv='mvg -g'

配置后,直接使用 cpmv 命令即可享受进度条功能,让 命令行 操作更加高效直观。

安装与配置步骤

方法一:使用一键安装脚本

执行以下命令即可完成下载、编译和安装。建议在运行前先检查脚本内容。

curl -sL https://git.io/advcpmv-installer | bash

方法二:手动编译安装
如果脚本安装失败,或希望更可控,可以手动操作:

# 1. 下载源码
wget https://github.com/jarun/advcpmv/archive/refs/tags/v0.9.tar.gz
tar -xzf v0.9.tar.gz
cd advcpmv-0.9/

# 2. 编译并替换命令
sudo cp src/cp /usr/local/bin/cpg
sudo cp src/mv /usr/local/bin/mvg

配置别名并测试

  1. 编辑 shell 配置文件(如 ~/.bashrc):

    nano ~/.bashrc

    在文件末尾添加:

    alias cp='/usr/local/bin/cpg -g'
    alias mv='/usr/local/bin/mvg -g'

    保存退出后,执行 source ~/.bashrc 使配置生效。

  2. 创建一个测试文件并验证:

    # 生成一个500MB的测试文件
    dd if=/dev/zero of=testfile bs=1M count=500
    # 使用带进度条的命令复制
    cpg -g testfile testfile.copy

    如果一切正常,终端中将出现动态更新的进度条。




上一篇:基于Erupt低代码框架:Java注解驱动,零前端代码快速构建企业级Admin后台
下一篇:阿里云Tair与SGLang联合方案:高效支持Mamba-Transformer等混合模型推理
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 17:19 , Processed in 0.148799 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表