Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jarun/advcpmv
A patch for GNU Core Utilities cp, mv to add progress bars
https://github.com/jarun/advcpmv
Last synced: 6 days ago
JSON representation
A patch for GNU Core Utilities cp, mv to add progress bars
- Host: GitHub
- URL: https://github.com/jarun/advcpmv
- Owner: jarun
- Created: 2019-02-25T14:14:18.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-05T16:21:16.000Z (7 months ago)
- Last Synced: 2024-08-01T12:36:51.853Z (3 months ago)
- Language: Shell
- Homepage:
- Size: 130 KB
- Stars: 743
- Watchers: 26
- Forks: 70
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - jarun/advcpmv - A patch for GNU Core Utilities cp, mv to add progress bars (others)
README
![advcpmv](https://web.archive.org/web/20131217004029im_/http://beatex.org/web/advcopy/advcpmv-screen-20130313.png)
## 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](http://beatex.org/web/advancedcopy.html) website appears to be dead. You can still find it via the [Internet Archive](https://web.archive.org/web/20131115171331/http://beatex.org/web/advancedcopy.html).
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
- gccRun 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.