Skip to content
forked from jarun/advcpmv

A patch for GNU Core Utilities cp, mv to add progress bars

Notifications You must be signed in to change notification settings

QiaoMuDe/advcpmv

This branch is up to date with jarun/advcpmv:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1e2b1c6 · Apr 5, 2024
Mar 2, 2023
Aug 17, 2015
Aug 17, 2015
Aug 25, 2016
Feb 25, 2019
Feb 25, 2019
May 22, 2020
Apr 3, 2022
Apr 3, 2022
Jun 4, 2022
Apr 13, 2023
Jul 16, 2023
Sep 6, 2023
Mar 30, 2024
Apr 5, 2024

Repository files navigation

advcpmv

Advanced Copy

Advanced Copy is a mod for the GNU cp and GNU mv tools which adds a progress bar and provides some info on what's going on. It was written by Florian Zwicke and released under the GPL.

This repository exists because the Advanced Copy website appears to be dead. You can still find it via the Internet Archive.

advcpmv-0.5-8.21.patch was the last patch released by the author (on February 14, 2013). advcpmv-0.6-8.24.patch (and following) are simply a rebase of that on top of the 8.24 version of coreutils.

Build instructions

Requires the following dependencies:

  • patch
  • gcc

Run the following command to download, patch, compile coreutils and generate the files: ./advcpmv/advcp and ./advcpmv/advmv.

Bash:

curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

Fish:

curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh; and begin; cd advcpmv; and sh install.sh; end

To install an older version than the latest one, you can specify the version by passing it as an argument to the install script (at the end of the command, before the closing parenthesis). For example, if you want to install advcpmv-0.8-8.32.patch you would modify the command above like so.

... sh install.sh 0.8 8.32 ...

Usage

Change your behaviour

You can install the binaries and use cpg -g and mvg -g instead of cp and mv:

sudo mv ./advcpmv/advcp /usr/local/bin/cpg
sudo mv ./advcpmv/advmv /usr/local/bin/mvg

Progress bar does not work with reflink (introduced v9.0 onwards). So reflink is disabled if using progress bar, left unchanged otherwise.

Alias

You can install the binaries and create aliases for bash (or whatever you use)

sudo mv ./advcpmv/advcp /usr/local/bin/
sudo mv ./advcpmv/advmv /usr/local/bin/

Bash:

echo alias cp '/usr/local/bin/advcp -g' >> ~/.bashrc
echo alias mv '/usr/local/bin/advmv -g' >> ~/.bashrc

Fish:

echo alias cp '/usr/local/bin/advcp -g' >> ~/.config/fish/config.fish
echo alias mv '/usr/local/bin/advmv -g' >> ~/.config/fish/config.fish

## Upstream merge

The original author sent the patch to the team, that maintains the GNU CoreUtils. They won't merge this patch, because mv and cp are feature complete.

About

A patch for GNU Core Utilities cp, mv to add progress bars

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%