GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden und kopieren Sie bestimmte Dateitypen von einem Verzeichnis in ein anderes unter Linux

Meine externe Festplatte ist ein Chaos. Ja, weil ich alle Dateien in einem einzigen Verzeichnis abgelegt habe. Ich war einfach zu faul, Dateien und Ordner in der richtigen Reihenfolge zu organisieren. Es dauerte länger, wenn ich nach einer bestimmten Datei suchte. Also dachte ich, es wäre viel besser, wenn ich bestimmte Dateitypen in separaten Verzeichnissen organisiere. Ich habe mich entschieden, Ordner für jeden Dateityp zu erstellen und die Dateien in den jeweiligen Ordnern zu speichern. Angenommen, alle Mediendateien (Audio und Video) sollten in einem Verzeichnis namens Multimedia abgelegt werden , Bilddateien in Bilder Ordner und offiziell verwandte Sachen in einem Ordner namens ostechnix .

Das manuelle Suchen und Kopieren jedes bestimmten Dateityps ist jedoch eine mühsame und ziemlich zeitaufwändige Aufgabe. Es dauert Stunden, alle Dateien zu finden und zu kopieren, wenn Sie eine große Anzahl von Dateien haben. Also habe ich eine schnelle Google-Suche durchgeführt und eine passende Lösung gefunden. Wenn Sie jemals bestimmte Dateitypen in Unix-ähnlichen Betriebssystemen von einem Verzeichnis in ein anderes kopieren wollten, finden Sie hier eine Möglichkeit, dies zu tun. Es könnte viele Möglichkeiten geben, dies zu tun, aber ich fand, dass die folgende Methode leicht und einfach zu befolgen ist.

In Linux bestimmte Dateitypen finden und von einem Verzeichnis in ein anderes kopieren

Wir werden den Befehl „find“ verwenden, um Dateien zu organisieren. Der Find-Befehl ist auf den meisten Unix-ähnlichen Distributionen vorinstalliert, also lassen Sie uns nicht die Mühe machen, ihn zu installieren. Für die Zwecke dieser Anleitung werde ich zeigen, wie man schnell MP3-Dateien aus einem Verzeichnis namens test1 findet und kopiert in ein anderes Verzeichnis namens test2 .

Herunterladen - Kostenloses eBook:"Beyond Linux® From Scratch - Version 6.3"

Lassen Sie uns den Inhalt des Testverzeichnisses überprüfen.

$ ls /home/sk/test1

Beispielausgabe:

'Bombay Rockers.mp3' 'Marconi Union - Sleepless.mp3' wiua9.jpg
 books.txt Maruvaarthai.mp3

Wie Sie im obigen Ergebnis sehen, befinden sich drei MP3-Dateien im Verzeichnis test1. Lassen Sie uns diese MP3-Dateien in das Verzeichnis test2 kopieren. Wechseln Sie dazu mit dem Befehl:

in das Verzeichnis test1
$ cd /home/sk/test1/

Führen Sie dann den folgenden Befehl aus, um alle Dateien zu finden und zu kopieren, die mit der Erweiterung .mp3 übereinstimmen .

$ find -iname '*.mp3' -exec cp {} /home/sk/test2/ \;

Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jede Option bewirkt.

  • finden - Es ist der Befehl, um Dateien und Ordner in Unix-ähnlichen Systemen zu finden.
  • -iname '*.mp3' - Suchen Sie nach Dateien mit der Erweiterung .mp3.
  • -exec cp - Fordert Sie auf, den 'cp'-Befehl auszuführen, um Dateien vom Quell- in das Zielverzeichnis zu kopieren.
  • {} - wird automatisch durch den Dateinamen der Dateien ersetzt, die mit dem Befehl „find“ gefunden wurden.
  • /home/sk/test2/ - Zielverzeichnis zum Speichern der passenden Dateien.
  • \; - Zeigt an, dass die auszuführenden Befehle nun vollständig sind und der Befehl beim nächsten Spiel erneut ausgeführt werden soll.

Klar? Gut! Lassen Sie uns nun das test2-Verzeichnis überprüfen, um zu überprüfen, ob die Dateien korrekt kopiert wurden.

$ ls /home/sk/test2

Beispielausgabe wäre:

'Bombay Rockers.mp3' Maruvaarthai.mp3
'Marconi Union - Sleepless.mp3'

Wie Sie sehen können, wurden alle Dateien mit der Erweiterung .mp3 aus dem Verzeichnis test1 in das Verzeichnis test2 kopiert. Ebenso können Sie andere Dateitypen wie oben beschrieben in andere Verzeichnisse Ihrer Wahl kopieren.

Der obige Befehl kopiert auch alle *.mp3-Dateien aus dem Quellverzeichnis und seinen Unterverzeichnissen. Wenn Sie das nicht möchten, verwenden Sie -maxdepth Flagge. Zum Beispiel kopiert der folgende Befehl alle .mp3-Dateien nur aus dem Quellverzeichnis, aber nicht aus seinen Unterverzeichnissen.

$ find -maxdepth 1 -iname '*.mp3' -exec cp {} /home/sk/test2/ \;

Auf diese Weise können Sie viel Zeit sparen, wenn Sie einen bestimmten Dateityp finden möchten. Dieser Trick kann hilfreich sein, wenn Sie große Mengen verschiedener Dateitypen von einem Verzeichnis in ein anderes übertragen müssen.

Verwandte Lektüre:

  • Kopieren Sie bestimmte Dateitypen, während Sie die Verzeichnisstruktur in Linux beibehalten

Weitere Einzelheiten finden Sie in den Manpages.

$ man find

Es gibt auch ein Skript namens 'Classifier' Dadurch werden Ihre Dateien basierend auf der Dateierweiterung automatisch in verschiedenen Verzeichnissen organisiert. Weitere Einzelheiten finden Sie unter dem unten angegebenen Link.

  • So organisieren Sie automatisch ähnliche Dateitypen in bestimmten Ordnern

Hoffe das hilft.


Linux
  1. So kopieren oder klonen Sie Berechtigungen von einer Datei in eine andere unter Linux

  2. Verwenden Sie Suchen, um ein bestimmtes Verzeichnis zu finden und alle darin enthaltenen Dateien außer einem Verzeichnis zu löschen?

  3. Kopieren Sie die Ordnerstruktur (ohne Dateien) von einem Ort zum anderen

  4. Wie verschiebt (und überschreibt) man alle Dateien von einem Verzeichnis in ein anderes?

  5. Wie kopiere ich eine Datei/einen Ordner aus dem Home-Verzeichnis eines anderen Benutzers in Linux?

So kopieren Sie Dateien und Verzeichnisse unter Linux

So zählen Sie Dateien im Verzeichnis in Linux

So finden und löschen Sie doppelte Dateien in Linux

So finden Sie doppelte Dateien in Linux und entfernen sie

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

Wie kopiert man eine Datei aus einem anderen Verzeichnis in das aktuelle?