Advanced-Copy is a robust command line utility that closely resembles, yet slightly enhances the traditional cp command and mv tools.
This enhanced variant of the cp command introduces a progress bar and displays the total duration required to complete the file transfer when moving large files between directories.
Such an enhancement proves highly beneficial particularly during transfers of significant size, offering users insight into the ongoing status of the copy operation and the estimated time remaining.
Install Advanced-Copy Command in Linux
The sole method to install the Advanced-Copy tool on Linux systems involves compiling from source using the following single curl command. It downloads, patches, compiles coreutils, and generates the binaries: ./advcpmv/advcp
and ./advcpmv/advmv
.
<code># curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)</code>
You may encounter the following error during installation:
<code>checking whether mknod can create fifo without root privileges... configure: error: in `/root/advcpmv/coreutils-9.1': 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</code>
To resolve the above issue, execute the following terminal command and then re-run the curl command.
<code># export FORCE_UNSAFE_CONFIGURE=1 # curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)</code>
Once installation completes successfully, two new commands will be available under ./advcpmv/advcp and ./advcpmv/advmv. To enable the progress bar, replace your existing cp and mv commands with these new versions.
<code># mv ./advcpmv/advcp /usr/local/bin/cp # mv ./advcpmv/advmv /usr/local/bin/mv</code>
Note: If you prefer not to place these commands in standard system paths, you can still execute them directly from the source directory such as “./advcpmv/advcp” and “./advcpmv/advmv”, or assign them new names like shown below:
<code># mv ./advcpmv/advcp /usr/local/bin/cpg # mv ./advcpmv/advmv /usr/local/bin/mvg</code>
Show Progress Bar While Copying Files and Directories
To ensure the progress bar appears automatically every time you copy files or folders, append the following lines to your ~/.bashrc file.
<code># echo alias cp '/usr/local/bin/advcp -g' >> ~/.bashrc # echo alias mv '/usr/local/bin/advmv -g' >> ~/.bashrc</code>
After saving the changes, log out and log back in for the configuration to take effect.
How to Use Advanced-Copy Command in Linux
The usage remains largely unchanged, except for the inclusion of the “-g” or “–progress-bar” flag alongside the cp command. The “-R” option is used to recursively copy directories.
Copy Files with Progress Bar
Below are example screenshots showing the copy process executed via the advanced copy command.
<code># cp -gR ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/ OR # cp -R --progress-bar ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/</code>
Move Files with Progress Bar
Here’s an example demonstrating the ‘mv’ command along with a screenshot.
<code># mv --progress-bar Songs/ /data/ OR # mv -g Songs/ /data/</code>
Keep in mind that the original commands remain untouched if you ever wish to revert or are unsatisfied with the progress bar enhancements. You can access the original versions using /usr/bin/cp or /usr/bin/mv.
I find this progress bar feature quite impressive; it gives me real-time feedback on the file copy process and how long it will take.
You might also like:
- How to Copy Files and Directories in Linux [14 cp Command Examples]
- How to Monitor Progress of (Copy/Backup/Compress) Data using ‘pv’ Command
In conclusion, this is definitely a handy utility to keep around, especially if you frequently work with large file transfers via the command line.
The above is the detailed content of Advanced Copy - Shows Progress While Copying Files in Linux. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Are you looking for good software to write mathematical equations? If so, this article provides the top 5 equation editors that you can easily install on your favorite Linux distribution.In addition to being compatible with different types of mathema

Linux administrators should be familiar with the command-line environment. Since GUI (Graphical User Interface) mode in Linux servers is not commonly installed.SSH may be the most popular protocol to enable Linux administrators to manage the servers

Gogo is a remarkable tool to bookmark directories inside your Linux shell. It helps you create shortcuts for long and complex paths in Linux. This way, you no longer need to type or memorize lengthy paths on Linux.For example, if there's a directory

PPA is an important tool for Ubuntu users to expand their software sources. 1. When searching for PPA, you should visit Launchpad.net, confirm the official PPA in the project official website or document, and read the description and user comments to ensure its security and maintenance status; 2. Add PPA to use the terminal command sudoadd-apt-repositoryppa:/, and then run sudoaptupdate to update the package list; 3. Manage PPAs to view the added list through the grep command, use the --remove parameter to remove or manually delete the .list file to avoid problems caused by incompatibility or stopping updates; 4. Use PPA to weigh the necessity and prioritize the situations that the official does not provide or require a new version of the software.

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

How to quickly generate test files of a specified size? It can be achieved using command line tools or graphical software. On Windows, you can use fsutilfilecreatenew file name size to generate a file with a specified byte; macOS/Linux can use ddif=/dev/zeroof=filebs=1Mcount=100 to generate real data files, or use truncate-s100M files to quickly create sparse files. If you are not familiar with the command line, you can choose FSUtilGUI, DummyFileGenerator and other tool software. Notes include: pay attention to file system limitations (such as FAT32 file size upper limit), avoid overwriting existing files, and some programs may

The key to installing dual systems in Linux and Windows is partitioning and boot settings. 1. Preparation includes backing up data and compressing existing partitions to make space; 2. Use Ventoy or Rufus to make Linux boot USB disk, recommend Ubuntu; 3. Select "Coexist with other systems" or manually partition during installation (/at least 20GB, /home remaining space, swap optional); 4. Check the installation of third-party drivers to avoid hardware problems; 5. If you do not enter the Grub boot menu after installation, you can use boot-repair to repair the boot or adjust the BIOS startup sequence. As long as the steps are clear and the operation is done properly, the whole process is not complicated.

Node Version Manager (NVM) is a simple bash script that helps manage multiple Node.js versions on your Linux system. It enables you to install various Node.js versions, view available versions for installation, and check already installed versions.NV
