So benennen Sie ein Verzeichnis in Linux um

So benennen Sie ein Verzeichnis in Linux um

Das Umbenennen eines Verzeichnisses in Linux ist einfach und es gibt viele Möglichkeiten, dies zu tun. Hier ist, wie es geht, vom Umbenennen eines Verzeichnisses bis zum Suchen und Umbenennen vieler.

Ihre Daten sind sicher

Das Umbenennen von Verzeichnissen ist etwas, das wir alle von Zeit zu Zeit tun müssen.

Wir können ein Verzeichnis erstellen und seinen Namen falsch geschrieben haben, und wir möchten es beheben. Häufig ändert sich der Zweck eines Verzeichnisses im Laufe der Zeit oder während der Lebensdauer eines Projekts, und Sie möchten den Namen ändern, um die neue Verwendung widerzuspiegeln. Möglicherweise haben Sie eine Archivdatei entpackt und sie hat einen Verzeichnisbaum mit Verzeichnisnamen in Großbuchstaben erstellt, und Sie möchten, dass sie in Kleinbuchstaben geschrieben werden.

Unabhängig von der Ursache. Das Umbenennen eines Verzeichnisses ändert nichts an den darin enthaltenen Daten. Es ändert den Pfad zu diesen Daten, aber die Dateien und Verzeichnisse in Ihrem umbenannten Verzeichnis sind nicht betroffen.

Benennen Sie Systemverzeichnisse nicht um. Das Ändern des Pfads zu Systemdateien und Befehlen, um es milde auszudrücken, wirkt sich negativ auf den Betrieb Ihres Computers aus. Wenn Sie verwenden müssen, sudoum ein Verzeichnis umzubenennen – es sei denn, Sie wissen wirklich, was Sie tun -, sollten Sie es wahrscheinlich nicht umbenennen.

Mit dem mv-Befehl

Im einfachsten Fall brauchen wir eigentlich nur einen mvBefehl. Es ist fester Bestandteil jeder Linux-Distribution, es muss also nichts installiert werden.

Zum mvZeitpunkt des Schreibens dieses Artikels ist das Team über 50 Jahre alt. Es geht auf die frühen Tage von Unix zurück, als kurze und kryptische Befehle in Mode waren, wahrscheinlich um die Anzahl der Zeichen zu reduzieren, die über langsame serielle Leitungen von Fernschreibern und dummen Terminals zum echten Computer übertragen werden mussten.

Es bedeutet eigentlich „verschieben“ und kann verwendet werden, um Dateien von Verzeichnis zu Verzeichnis zu verschieben. Wenn Sie eine Datei an denselben Ort verschieben, an dem sie sich bereits befindet, und ihr einen neuen Namen geben, benennen Sie die Datei um. Und wir können dasselbe mit Verzeichnissen machen.

Dieses Verzeichnis hat zwei Unterverzeichnisse.

ls

Um ein Verzeichnis umzubenennen, verwenden wir den Befehl mv. Wir müssen den aktuellen Verzeichnisnamen und den neuen Namen angeben.

mv old-work archive-2

Wenn sich das Verzeichnis, das Sie umbenennen möchten, nicht in Ihrem aktuellen Verzeichnis befindet, geben Sie den Pfad und Namen des Verzeichnisses an.

mv ~/htg/old-work ~/htg/archive-2ls

Verwenden des Dateibrowsers

Dateibrowser können Verzeichnisse umbenennen. Die Taste in der GNOME-Dateianwendung ist F2. Wenn Sie ein Verzeichnis auswählen und F2 drücken, wird das Dialogfeld „Ordner umbenennen“ geöffnet.

Geben Sie einen neuen Namen ein und klicken Sie auf die grüne Schaltfläche Umbenennen.

Das Verzeichnis wurde für Sie umbenannt.

Es ist so einfach.

Befehl umbenennen

Wenn Ihre Anforderungen komplexer sind als das einfache Umbenennen eines Verzeichnisses, müssen Sie möglicherweise renameden Befehl verwenden. Dadurch können Sie Perl-Ausdrücke verwenden, um Dateien und Verzeichnisse umzubenennen. Es bietet eine leistungsfähigere und flexiblere Möglichkeit, Verzeichnisse umzubenennen.

Wir werden über einen Perl-basierten Befehl sprechen rename. Es gibt einen anderen, älteren Befehl rename , der Teil der zentralen Linux-Dienstprogramme ist. Sie müssen wahrscheinlich den Perl-Befehl installieren, den renamewir verwenden möchten.

Um Namenskonflikte mit einem bestehenden renameBefehl zu vermeiden, wird der Perl-Befehl in Fedora und Manjaro renameaufgerufen . In Ubuntu sind beide Befehle und symbolische Links, die in eine Binärdatei namens .prenameperl-renamerenameprenamefile-rename

In Manjaro müssen Sie also den Befehl verwenden perl-rename, und in Fedora müssen Sie verwenden prename. Unter Ubuntu können Sie renameentweder prename.

Um die Perl-Umbenennung zu installieren, müssen Sie unter Ubuntu Folgendes eingeben:

sudo apt install rename

Bei Fedora lautet der Befehl:

sudo dnf install prename

Bei Manjaro heißt das Paket perl-rename.

sudo pacman -Sy perl-rename

Stellen Sie sicher, dass Sie den richtigen Befehl für Ihre Distribution verwenden, wenn Sie die Beispiele durcharbeiten möchten.

Erste Schritte mit Umbenennung

Der Befehl renamenimmt reguläre Perl-Ausdrücke und wendet sie auf eine Datei oder ein Verzeichnis oder auf eine Gruppe von Dateien oder Verzeichnissen an.

Unser Katalog enthält eine Sammlung anderer Kataloge.

ls

Ihre Namen sind eine Mischung aus Kleinbuchstaben, Großbuchstaben und Groß- und Kleinschreibung. Wir können sie alle mit einem geeigneten Ausdruck in Kleinbuchstaben umwandeln.

rename 'y/A-Z/a-z/' *ls

Alle Verzeichnisse werden jetzt in Kleinbuchstaben geschrieben, unabhängig davon, ob sie zuvor vollständig in Großbuchstaben geschrieben waren oder einen ungeraden Großbuchstaben enthielten.

Die ganze Magie liegt im Ausdruck. Der Ausdruck wird in einfache Anführungszeichen “ '“ eingeschlossen. Das meint das ganze Team.

  • y: Dies bedeutet, im ersten Zeichenbereich nach einem beliebigen Zeichen zu suchen und es durch das entsprechende Zeichen im zweiten Zeichenbereich zu ersetzen.
  • /AZ/az/: Der erste Bereich umfasst alle Buchstaben von „A“ bis „Z“, und der zweite Bereich umfasst alle Zeichen von „a“ bis „z“.
  • *: Ein Stern als Platzhalter bedeutet, dass dies für alle Verzeichnisse gilt.

Mit anderen Worten, der Befehl lautet „Ersetzen Sie für alle Verzeichnisse alle Großbuchstaben durch die entsprechenden Kleinbuchstaben“.

Offensichtlich können Sie ein einzelnes Verzeichnis mit umbenennen rename, obwohl dies überflüssig erscheint. Mit werden Sie schneller sein mv.

rename 's/gamma/epsilon-2/' *ls

Das „S“ in diesem Ausdruck steht für Replacement. Es überprüft jedes Verzeichnis, um zu sehen, ob sein Name „gamma“ ist. Wenn ja, wird es durch „epsilon-2“ ersetzt. Beachten Sie jedoch, dass dies beispielsweise auch mit einem Verzeichnis namens „gamma-zeta“ übereinstimmen würde, wenn Sie es in „epsilon-2-zeta“ umbenennen.

Dies kann vermieden werden, indem der ersten Klausel des Ausdrucks die Metazeichen “ “ ^für Zeilenanfang und “ “ für Zeilenende hinzugefügt werden.$

lsrename 's/^gamma$/epsilon-2/' *ls

Das Verzeichnis „epsilon-2“ bleibt dabei unberührt.

Umbenennen mit anderen Befehlen verwenden

Wir können andere Befehle verwenden, um die Verzeichnisse zu finden, an denen wir renamearbeiten möchten. Wenn wir eine Reihe verschachtelter Verzeichnisse haben und alle diese mit „-old“ enden umbenennen möchten, um mit „-archive“ zu enden, können wir dies mit findund erreichen xargs.

Wir müssen verwenden, xargsweil renamees keine Pipe-Eingabe akzeptiert. Der Befehl xargsüberwindet dieses Problem, indem er eine Pipe-Eingabe nimmt und der Befehlszeile einen weiteren Befehl als Befehlszeilenparameter hinzufügt.

So sieht unser Team aus:

find. -depth -type d -name "*-old"| xargs -r rename "s/old$/archive/"

  • .: Wir weisen find an, im aktuellen Verzeichnis zu suchen. Natürlich kann es so oder so sein.
  • -Tiefe: Tiefensuche verwenden. Das bedeutet, dass die Inhalte tiefer verschachtelter Unterverzeichnisse vor höheren verarbeitet werden.
  • -type d: Suchen Sie nach Verzeichnissen, nicht nach Dateien.
  • -name „*-old“: Suchhinweis. Wir suchen nach Verzeichnissen, deren Namen auf „-old“ enden.
  • |: Wir leiten die Ausgabe des Find-Befehls an xargsden Befehl weiter.
  • xargs -r: -r(nicht ausführen, wenn leer) bedeutet, dass der Befehl nicht ausgeführt wird, wenn keine geeigneten Verzeichnisse vorhanden sind.
  • „s/old$/archive/“ umbenennen: renameauszuführender Befehl.

Unser Verzeichnisbaum sieht vor dem Befehl so aus.

Lassen Sie uns unseren Befehl ausführen:

Und wir können sehen, dass alle relevanten Verzeichnisse, einschließlich Unterverzeichnisse, umbenannt wurden.

Sie brauchen nichts anderes als mv. Wenn Sie GUI-Anwendungen bevorzugen, können Sie den Dateibrowser verwenden. Wenn Sie viele Verzeichnisse umbenennen müssen, insbesondere wenn sie über den Verzeichnisbaum verstreut sind, benötigen Sie Flexibilität rename.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert