Das GNU cp
und GNU mv
Tools werden verwendet, um Dateien und Verzeichnisse im GNU/Linux-Betriebssystem zu kopieren und zu verschieben. Eine fehlende Funktion in diesen beiden Dienstprogrammen ist, dass sie Ihnen keinen Fortschrittsbalken anzeigen. Wenn Sie eine große Datei oder ein großes Verzeichnis kopieren, wissen Sie wirklich nicht, wie lange der Kopiervorgang dauern würde oder wie viel Prozent der kopierten Daten. Sie sehen nicht, welche Datei gerade kopiert wird oder wie viele bereits kopiert wurden. Alles, was Sie sehen werden, ist nur der blinkende Cursor und die LED-Anzeige der Festplatte. Dank Advanced Copy , ein Patch für Gnu Coreutils
, können wir jetzt einen Fortschrittsbalken zu cp
hinzufügen und mv
Befehle in Linux und zeigen den Fortschrittsbalken beim Kopieren und/oder Verschieben großer Dateien und Verzeichnisse.
Advanced Copy ist ein Mod für das GNU cp
und GNU mv
Programme. Es fügt einen Fortschrittsbalken hinzu und bietet einige Informationen darüber, was passiert, während Sie Dateien und Ordner kopieren oder verschieben. Neben dem Fortschrittsbalken zeigt er auch die Datenübertragungsrate, die geschätzte verbleibende Zeit und den Dateinamen an, der gerade kopiert wird. Am Ende sehen Sie eine kurze Zusammenfassung, wie viele Dateien kopiert wurden und wie lange das Kopieren der Dateien gedauert hat.
Installieren Sie den „Advanced Copy“-Patch, um den cp- und mv-Befehlen unter Linux eine Fortschrittsleiste hinzuzufügen
Die Befehle cp und mv sind Teil der GNU coreutils
. Sie müssen also die neuesten GNU coreutils
herunterladen von hier .
$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
Extrahieren Sie das heruntergeladene Archiv mit dem Befehl:
$ tar xvJf coreutils-8.32.tar.xz
Dieser Befehl extrahiert das Coreutils-Archiv in einen Ordner mit dem Namen coreutils-8.32
im aktuellen Verzeichnis. Cd hinein:
$ cd coreutils-8.32/
Laden Sie den Advanced Copy-Patch mit dem folgenden Befehl herunter:
$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch
Wenden Sie schließlich den Patch an, indem Sie nacheinander die folgenden Befehle ausführen:
$ patch -p1 -i advcpmv-0.8-8.32.patch
$ ./configure
$ make
Jetzt zwei neue gepatchte Binärdateien, nämlich cp
und mv
wird in coreutils-8.32/src
erstellt Mappe. Kopieren Sie sie einfach wie unten in Ihren $PATH:
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
Das ist es. Der cp
und mv
Befehle haben jetzt eine Fortschrittsbalkenfunktion.
Wenn Sie beim Kopieren oder Verschieben von Dateien und Verzeichnissen einen Fortschrittsbalken wünschen, fügen Sie einfach -g
hinzu Flagge wie unten:
$ cp -g archlinux.iso mydownload/
Oder verwenden Sie --progress-bar
Flagge:
$ cp --progress-bar archlinux.iso mydownload/
Beispielausgabe:
Copying at 25.7 MiB/s (about 0h 0m 1s remaining)
archlinux.iso 568.1 MiB / 646.0 MiB
[=========================================================================> ] 87.9 %
Am Ende des Kopiervorgangs sehen Sie, wie viele Dateien kopiert wurden, wie lange das Kopieren der Datei(en) gedauert hat und die Datenübertragungsrate pro Sekunde. Schön, nicht wahr?
1 files (646.0 MiB) copied in 11.8 seconds ( 54.7 MiB/s).
Um ein Verzeichnis und seine Unterverzeichnisse rekursiv zu kopieren, fügen Sie einfach -R
hinzu Flagge:
$ cp -gR directory1/ directory2/
Ebenso zum Verschieben von Dateien mit mv
Befehl, führe aus:
$ mv -g archlinux.iso mydownload/
Oder verwenden Sie --progress-bar
Flagge:
$ mv --progress-bar archlinux.iso mydownload/
Um Verzeichnisse mit mv
zu verschieben Befehl, verwenden Sie:
$ mv -g directory1/ directory2/
Sie können auch Aliase erstellen, um ein paar Tastenanschläge zu sparen. Bearbeiten Sie dazu ~/.bashrc
Datei:
$ nano ~/.bashrc
Fügen Sie am Ende die folgenden Zeilen hinzu:
alias cp='/usr/local/bin/cp -gR'
alias mv='/usr/local/bin/mv -g'
Drücken Sie Ctrl+o
und Ctl+x
um die Datei zu speichern und zu schließen.
Führen Sie nun den folgenden Befehl aus, um die Änderungen zu übernehmen:
$ source ~/.bashrc
Von nun an können Sie einfach cp
verwenden oder mv
Befehle ohne -g
(oder --progress-bar
)-Flag.
Bitte beachten Sie, dass die Originalprogramme nicht überschrieben werden. Sie können sie trotzdem jederzeit über /usr/bin/cp
anrufen oder /usr/bin/mv
.
Hinzufügen der Fortschrittsbalkenfunktion zu cp
und mv
Befehle ist eine gute Idee, wenn Sie häufig viele große Dateien und Verzeichnisse kopieren oder verschieben. Sie können jetzt genau sehen, was beim Kopieren und Verschieben von Dateien vor sich geht, anstatt auf den Bildschirm zu starren.
Hinweis:
Der ursprüngliche Autor schickte den Patch an das Team, das die GNU CoreUtils pflegt. Sie werden diesen Patch nicht zusammenführen, da mv und cp Feature Complete sind.