Beim Erlernen von Linux ist es für Neulinge immer die Norm, mehrere Befehle einzugeben, um eine einfache Aufgabe zu erledigen. Dies ist verständlich, besonders wenn man sich gerade an die Benutzung des Terminals gewöhnt.
Da Sie sich jedoch darauf freuen, ein Linux-Power-User zu werden, kann das Erlernen dessen, was ich als „Kurzbefehle“ bezeichnen würde, Tendenzen zur Zeitverschwendung erheblich reduzieren.
In diesem Artikel erklären wir eine einfache Möglichkeit, mit einem einzigen Befehl eine Datei in mehrere Verzeichnisse unter Linux zu kopieren.
Unter Linux wird der Befehl cp verwendet, um Dateien von einem Verzeichnis in ein anderes zu kopieren, die einfachste Syntax für die Verwendung lautet wie folgt:
# cp [options….] source(s) destination
Alternativ können Sie auch den Befehl advanced-copy verwenden, der beim Kopieren großer Dateien/Ordner unter Linux einen Fortschrittsbalken anzeigt.
Betrachten Sie die folgenden Befehle. Normalerweise würden Sie zwei verschiedene Befehle eingeben, um dieselbe Datei wie folgt in zwei separate Verzeichnisse zu kopieren:
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp
Angenommen, Sie möchten eine bestimmte Datei in bis zu fünf oder mehr Verzeichnisse kopieren, bedeutet dies, dass Sie fünf oder mehr cp-Befehle eingeben müssten ?
Um dieses Problem zu beseitigen, können Sie den echo-Befehl verwenden, eine Pipe , xargs Befehl zusammen mit dem cp Befehl in der folgenden Form:
# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
Im obigen Formular werden die Pfade zu den Verzeichnissen (dir1, dir2, dir3…..dirN) als Eingabe an die xargs ausgegeben und weitergeleitet Befehl wo:
-n 1
– weist xargs an, höchstens ein Argument pro Befehlszeile zu verwenden und an den cp-Befehl zu senden.cp
– verwendet, um eine Datei zu kopieren.-v
– Aktiviert den ausführlichen Modus, um Details des Kopiervorgangs anzuzeigen.
Versuchen Sie, die Manpages von cp
durchzulesen , echo
und xargs
Befehle, um nützliche und erweiterte Nutzungsinformationen zu finden:
$ man cp $ man echo $ man xargs
Das ist alles, Sie können uns Fragen zum Thema oder Feedback über das Kommentarformular unten senden. Vielleicht möchten Sie auch etwas über den Fortschrittsbefehl lesen, der hilft, den Fortschritt von (cp , mv , dd , tar usw.), die derzeit unter Linux ausgeführt werden.