back to Main Page

Screenshot of Advanced Copy (GNU Coreutils patch) v0.5

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.

The patch has been updated to work with the newest GNU coreutils version, as of February 2013!

Be aware that this program is still in its earliest stages. There's still some bugs to be fixed and many cool features missing.

There's also a Freecode project page.

This program is released under the GNU General Public License.


Download

You can either compile from sources or use pre-compiled binaries. While using pre-compiled binaries should almost always work and is also easier for less experienced users, I recommend compiling from the sources.

Compile from sources

First you need the original version of GNU coreutils. My current mod is based on coreutils-8.21 (released Feb 14, 2013).

Then you need the latest patchfile (current version 0.5 alpha). The whole installation should be kind of like this:

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
$ tar xvJf coreutils-8.21.tar.xz
$ cd coreutils-8.21/
$ wget http://zwicke.org/web/advcopy/advcpmv-0.5-8.21.patch
$ patch -p1 -i advcpmv-0.5-8.21.patch
$ ./configure
$ make

The new programs are now located in src/cp and src/mv. You may choose to replace your existing commands:

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

Whenever you want a progress bar you can now use cp -g or mv -g. The original programs are not overwritten, and if you ever need to use them, you can call them via /usr/bin/cp or /usr/bin/mv.

Note that, depending on your particular configuration, these last two lines might not always work. There are many alternatives, though. If you copied the files and don't get the progress bar, make sure /usr/local/bin is in your $PATH environment variable:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin
$ which cp
/usr/local/bin/cp

If sudo fails, but you know the root password, just use su. If you want to install the tools for a single user, just put the files wherever you like and create fitting ~/.bashrc entries:

alias cp='/home/myusername/advancedcopy/coreutils-8.21/src/cp -g'
alias mv='/home/myusername/advancedcopy/coreutils-8.21/src/mv -g'

Pre-compiled binaries

Alternatively to building from source, you could try using the pre-compiled statically-linked executables for Linux (ELF 32-bit, for GNU/Linux 2.6.26):

$ wget http://zwicke.org/web/advcopy/advcpmv-0.5-8.21-static.tar.xz
$ tar xvJf advcpmv-0.5-8.21-static.tar.xz

The new programs are now located in the folder advcpmv-0.5-8.21-static. For an installation (see last section for more details), do:

$ sudo cp advcpmv-0.5-8.21-static/cp /usr/local/bin/cp
$ sudo cp advcpmv-0.5-8.21-static/mv /usr/local/bin/mv

Automatic progress bar

If you want the progress bar to be shown all the time, you can add the following to your ~/.bashrc:

alias cp='cp -g'
alias mv='mv -g'

Usage

cp can be used just like before after applying the patch. The only change is the new -g (or --progress-bar) option:
$ cp -gR BigFolder NewFolder/

1469 files copied so far...                          130.2 MiB / 298.7 MiB
[|||||||||||||||||||||||||||||------------------------------------] 43.6 %
Copying at  23.4 MiB/s (about 0h 0m 31s remaining)
BigFolder/automation/delegates/class-list.jpeg         1.5 MiB /   2.0 MiB
[|||||||||||||||||||||||||||||||||||||||||||||||------------------] 75.0 %

Changes

March 12, 2013
I'm happy to release yet another new version of Advanced Copy: v0.5. There haven't been any actual changes, just two important bugfixes in the mv patch.

February 23, 2013
After an overlong hibernation, I'm happy to announce that this project just came back to life! There haven't been any major changes since the last release from three years ago, but the patch has now been adjusted to work with the newest GNU coreutils release (v8.21). Enjoy!

August 26, 2010
Thanks to Phil Schäfer for a new patch which adds the progress bar to GNU mv (v0.3).

January 26, 2010
Thanks to Bartosz Swiatek for a patch that adds a -g and --progress-bar option to the program. You can now replace your current cp executable and use cp -g whenever you want a progress bar (v0.2b).

January 25, 2010
Second alpha version of Advanced Copy (v0.2) is released. The tool now calculates the current speed and estimates the remaining time.

January 25, 2010
First alpha version of Advanced Copy (v0.1) is released.


Screenshots

Advanced Copy 0.2, Progress Bar, by Florian Zwicke
v0.2 alpha

Advanced Copy 0.1, Progress Bar, by Florian Zwicke
v0.1 alpha


Legacy

The following old releases are provided solely for completeness. I recommend against using them:

advcpmv-0.4-8.21.patch (February 23, 2013)
advcpmv-0.3-8.4.patch (August 26, 2010)
advcopy-0.2b-8.4.patch (January 26, 2010)
advcopy-0.2-8.4.patch (January 25, 2010)
advcopy-0.1-8.4.patch (January 25, 2010)


Last update: March 12, 2013 - Florian Zwicke
(mail address: info at this domain)