So benennen Sie ein Verzeichnis unter Linux um
Veröffentlicht: 2022-06-16Das Umbenennen eines Verzeichnisses in Linux ist einfach, und es gibt viele Möglichkeiten, dies zu tun. Vom Umbenennen eines einzelnen Verzeichnisses bis zum Suchen und Umbenennen vieler – hier erfahren Sie, wie es geht.
Ihre Daten sind sicher
Das Umbenennen von Verzeichnissen ist etwas, das wir alle von Zeit zu Zeit tun müssen.
Wir könnten ein Verzeichnis erstellen und seinen Namen falsch schreiben, und wir möchten es korrigieren. Oft ändert sich der Zweck eines Verzeichnisses im Laufe der Zeit oder während der Lebensdauer eines Projekts, und Sie möchten den Namen anpassen, um die neue Verwendung widerzuspiegeln. Vielleicht haben Sie eine Archivdatei dekomprimiert und es wurde ein Verzeichnisbaum mit den Verzeichnisnamen in Großbuchstaben erstellt, und Sie möchten sie in Kleinbuchstaben.
Aus welchem Grund auch immer. 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 werden nicht berührt.
Systemverzeichnisse nicht umbenennen. Das Ändern des Pfads zu Systemdateien und Befehlen wird sich, gelinde gesagt, nachteilig auf den Betrieb Ihres Computers auswirken. Wenn Sie sudo
verwenden müssen, um ein Verzeichnis umzubenennen – es sei denn, Sie wissen wirklich, was Sie tun – sollten Sie es wahrscheinlich nicht umbenennen.
Mit dem mv-Befehl
In den einfachsten Fällen brauchen wir eigentlich nur den Befehl mv
. Dies ist ein fester Bestandteil jeder Linux-Distribution, sodass nichts installiert werden muss.
Der Befehl mv
ist zum Zeitpunkt des Schreibens über 50 Jahre alt. Es stammt aus den Anfängen von Unix, 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 eigentlichen Computer weitergeleitet werden mussten.
Es steht eigentlich für „move“ 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, haben Sie die Datei umbenannt. Und wir können dasselbe mit Verzeichnissen machen.
In diesem Verzeichnis gibt es zwei Unterverzeichnisse.
ls
Um ein Verzeichnis umzubenennen, verwenden wir den Befehl mv. Wir müssen den aktuellen Namen des Verzeichnisses 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 sowohl den Pfad als auch den Verzeichnisnamen an.
mv ~/htg/old-work ~/htg/archive-2
ls
Verwenden des Dateibrowsers
Dateibrowser können Verzeichnisse umbenennen. Die Tastenkombination in der GNOME-Dateianwendung ist F2. Durch Markieren eines Verzeichnisses und Antippen der Taste F2 öffnet sich der Dialog „Ordner umbenennen“.
Geben Sie den neuen Namen ein und klicken Sie auf die grüne Schaltfläche „Umbenennen“.
Das Verzeichnis wird für Sie umbenannt.
So einfach ist das.
Der Umbenennungsbefehl
Wenn Ihre Anforderungen komplizierter sind als das einfache Umbenennen eines Verzeichnisses, müssen Sie möglicherweise den Befehl rename
verwenden. Dadurch können Sie Perl-Ausdrücke verwenden, um Dateien und Verzeichnisse umzubenennen. Es bietet eine insgesamt leistungsfähigere und flexiblere Möglichkeit, Verzeichnisse umzubenennen.
Wir werden über den Perl-basierten rename
sprechen. Es gibt einen anderen, älteren Befehl namens rename
, der Teil der Linux-Kerndienstprogramme ist. Sie müssen wahrscheinlich den Perl rename
installieren, den wir verwenden möchten.
Um Namenskonflikte mit dem bestehenden rename
zu vermeiden, heißt der Perl- rename
bei Fedora prename
und bei Manjaro perl-rename
rename. Unter Ubuntu sind die Befehle rename
und prename
beide symbolische Links, die in eine Binärdatei namens file-rename
rename aufgelöst werden.
Auf Manjaro müssen Sie also den Befehl perl-rename
rename verwenden, und auf Fedora ist es prename
. Unter Ubuntu können Sie rename
oder prename
.
Um die Perl-Umbenennung zu installieren, müssen Sie unter Ubuntu Folgendes eingeben:
sudo apt install umbenennen
Bei Fedora lautet der Befehl:
sudo dnf install vorname
Bei Manjaro heißt das Paket perl-rename
.
sudo pacman -Sy perl-umbenennen
Stellen Sie sicher, dass Sie den richtigen Befehl für Ihre Distribution verwenden, wenn Sie die Beispiele durcharbeiten möchten.
Erste Schritte mit Umbenennen
Der rename
nimmt reguläre Perl-Ausdrücke und wendet sie auf eine Datei oder ein Verzeichnis oder eine Gruppe von Dateien oder Verzeichnissen an.
In unserem Verzeichnis haben wir eine Sammlung anderer Verzeichnisse.
ls
Ihre Namen sind eine Mischung aus Kleinbuchstaben, Großbuchstaben und Großbuchstaben. Wir können sie alle mit einem geeigneten Ausdruck in Kleinbuchstaben umwandeln.
'y/AZ/az/' umbenennen *
ls
Alle Verzeichnisse sind jetzt in Kleinbuchstaben, unabhängig davon, ob sie zuvor vollständig in Großbuchstaben geschrieben waren oder den ungeraden Großbuchstaben enthielten.
Die ganze Magie ist im Ausdruck enthalten. Der Ausdruck wird in einfache Anführungszeichen „ '
“ gesetzt. Das bedeutet der gesamte Befehl.
- y : Dies bedeutet, dass nach einem beliebigen Zeichen im ersten Zeichenbereich gesucht wird und es durch das entsprechende Zeichen aus dem zweiten Zeichenbereich ersetzt wird.
- /AZ/az/ : Der erste Bereich umfasst alle Buchstaben von „A“ bis „Z“, und der zweite Bereich umfasst alle Zeichen von „a“ bis „z“.
- * : Der Sternchen-Platzhalter bedeutet, dass dies auf alle Verzeichnisse angewendet wird.
Mit anderen Worten lautet der Befehl wie folgt: „Ersetzen Sie für alle Verzeichnisse alle Großbuchstaben durch die entsprechenden Kleinbuchstaben.“
Offensichtlich können Sie ein einzelnes Verzeichnis mit rename
, obwohl es nach Overkill riecht. Mit mv
es schneller.
's/gamma/epsilon-2/' umbenennen *
ls
Das „s“ in diesem Ausdruck bedeutet Ersatz. 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.
Wir können dies vermeiden, indem wir den Anfang der Zeichenfolge „ ^
“ und das Ende der Zeichenfolge „ $
“ Metazeichen zur ersten Klausel des Ausdrucks hinzufügen.
ls
's/^gamma$/epsilon-2/' umbenennen *
ls
Das Verzeichnis „epsilon-2“ bleibt dabei unberührt.
Verwenden von Umbenennen mit anderen Befehlen
Wir können andere Befehle verwenden, um die Verzeichnisse zu finden, die rename
werden sollen. Wenn wir eine Reihe von verschachtelten Verzeichnissen haben und wir alle umbenennen möchten, die auf „-old“ enden, sodass sie auf „-archive“ enden, können wir dies mit find
und xargs
erreichen.
Wir müssen xargs
verwenden, da rename
keine Pipe-Eingabe akzeptiert. Der Befehl xargs
überwindet dieses Problem, indem er die umgeleitete Eingabe akzeptiert und der Befehlszeile eines anderen Befehls als Befehlszeilenparameter hinzufügt.
Unser Befehl sieht so aus:
finden . -Tiefe -Typ d -Name "*-alt" | xargs -r "s/old$/archive/" umbenennen
- . : Wir weisen find an, im aktuellen Verzeichnis zu suchen. Dies kann natürlich jeder Pfad sein.
- -Tiefe : Verwenden Sie eine Tiefensuche. Das bedeutet, dass die Inhalte tiefer verschachtelter Unterverzeichnisse vor höheren verarbeitet werden.
- -type d : Suche nach Verzeichnissen, nicht nach Dateien.
- -name „*-old“ : Der Suchhinweis. Wir suchen nach Verzeichnissen, deren Namen auf „-old“ enden.
- | : Wir leiten die Ausgabe von find an den Befehl
xargs
. - xargs -r : Das
-r
(no run if empty) bedeutet, dass der Befehl nicht ausgeführt wird, wenn keine übereinstimmenden Verzeichnisse vorhanden sind. - rename „s/old$/archive/“ : Der auszuführende
rename
.
Unser Verzeichnisbaum sieht vor dem Befehl so aus.
Wir führen unseren Befehl aus:
Und wir können sehen, dass alle übereinstimmenden Verzeichnisse, einschließlich der verschachtelten, umbenannt wurden.
Pferde für Kurse
Um ein Verzeichnis umzubenennen, braucht man nichts weiter als mv
. Wenn Sie GUI-Anwendungen bevorzugen, können Sie Ihren Dateibrowser verwenden. Wenn Sie viele Verzeichnisse umbenennen müssen und insbesondere wenn sie über einen Verzeichnisbaum verstreut sind, benötigen Sie die Flexibilität von rename
.
RELATED: So verwalten Sie Dateien vom Linux-Terminal aus: 11 Befehle, die Sie kennen müssen