Sind Sie neu im Linux-Betriebssystem? Wenn ja, können allgemeine Aufgaben wie das Umbenennen von Dateien und Ordnern anders sein als Sie es gewohnt sind. Aber ärgere dich nicht. Das Konzept des Umbenennens von Dateien in Linux ähnelt dem in anderen Betriebssystemen.
In diesem Tutorial lernen Sie viele Möglichkeiten kennen, einzelne und mehrere Dateien in Linux umzubenennen, sowohl über die grafische Benutzeroberfläche als auch über die Ausführung von Befehlen in einem Terminal.
Los geht’s!
Inhaltsverzeichnis
- Voraussetzungen
- Umbenennen von Dateien mit dem Dateimanager
- Umbenennen einer einzelnen Datei
- Umbenennen mehrerer Dateien mit Nautilus File Manager
- Umbenennen von Dateien mithilfe einer Vorlage
- Suchen und Ersetzen von Wörtern in den Dateinamen
- Umbenennen von Dateien mit dem mv-Befehl
- Umbenennen einer einzelnen Datei mit dem Befehl mv
- Umbenennen mehrerer Dateien mit einer For-Schleife
- Umbenennen von Dateien in Linux mit dem Umbenennungsprogramm
- Umbenennen mehrerer Dateien
- Dateierweiterungen ändern
- Ändern von Dateinamen in Groß- und Kleinbuchstaben
- Ersetzen und Entfernen von Leerzeichen in Dateinamen
- Großschreibung des ersten Buchstabens jedes Wortes in einem Dateinamen
- Fazit
Voraussetzungen
Stellen Sie sicher, dass Sie über Folgendes verfügen, um dieses Tutorial zu befolgen:
- Dieses Tutorial verwendet Ubuntu 18.04 LTS, aber andere Linux-Distributionen funktionieren.
- Ein Konto mit Sudo/Administratorzugriff.
Umbenennen von Dateien mit dem Dateimanager
Wenn Sie es gewohnt sind, Dateien über eine grafische Benutzeroberfläche zu verwalten, beginnen wir mit diesem Lernprogramm, um Dateien mit einem Dateimanager umzubenennen. GUI-Dateimanager sind ordentlich, da Sie die Dateien in plain Sight sehen können. Einer dieser in Linux verfügbaren Dateimanager ist Gnomes ehemaliger Dateimanager Nautilus. Dieses Tutorial zeigt das Umbenennen von Dateien mit dem Nautilus-Dateimanager.
Die anderen Dateimanager von Linux sind Konqueror, Dolphin, Krusader, Thunar, Nemo File Manager und Sunflower File Manager. Diese Dateimanager führen dieselbe Aufgabe aus, das Umbenennen von Dateien oder Verzeichnissen kann jedoch geringfügig abweichen.
Starten Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um Nautilus (install nautilus
) mit dem apt
Paketmanager zu installieren, falls Sie es noch nicht auf Ihrem Computer haben. Der Befehl sudo
erhöht den Befehl mit sudo / Administratorrechten.
sudo apt install nautilus
Umbenennen einer einzelnen Datei
Das Umbenennen einer einzelnen Datei in Nautilus dauert nur wenige Klicks, wie im Windows-Datei-Explorer.
Um eine einzelne Datei umzubenennen, öffnen Sie Nautilus, klicken Sie mit der rechten Maustaste auf die Datei, die Sie umbenennen möchten, und wählen Sie Umbenennen, wie unten gezeigt.
Dieses Beispiel konzentriert sich auf das Umbenennen von Dateien, aber der Prozess ist derselbe, um Dateien und Verzeichnisse umzubenennen.
Geben Sie nun den neuen Dateinamen ein, um den ursprünglichen Dateinamen zu ersetzen, drücken Sie die Eingabetaste oder klicken Sie auf Umbenennen.
Umbenennen mehrerer Dateien mit Nautilus File Manager
Wie Windows bietet Ubuntu mehr Optionen, wie Sie mehrere Dateien gleichzeitig umbenennen möchten.
Um mehrere Dateien umzubenennen, wählen Sie alle Dateien aus, die Sie umbenennen möchten, klicken Sie mit der rechten Maustaste auf eine davon und wählen Sie Umbenennen. Es erscheint ein Popup-Fenster, in dem Sie auswählen können, wie Sie die ausgewählten Dateien umbenennen möchten.
Im Folgenden stehen zwei Optionen zur Auswahl, je nachdem, wie Sie die ausgewählten Dateien umbenennen möchten.
- Umbenennen mithilfe einer Vorlage – Hiermit können Sie Dateien schrittweise umbenennen.
- Text suchen und ersetzen – Ermöglicht das Suchen und Ersetzen bestimmter Texte in Dateinamen.
Umbenennen von Dateien mithilfe einer Vorlage
Um Dateien mithilfe einer Vorlage umzubenennen, wählen Sie die Option Umbenennen mithilfe einer Vorlage.
Geben Sie nun den Ersatznamen in das leere Feld ein, um Dateien mit einer Vorlage umzubenennen, und klicken Sie auf die Schaltfläche +Hinzufügen und wählen Sie aus den Vorlagen. Wählen Sie für dieses Lernprogramm das erste aus (1,2,3,4) und klicken Sie auf Umbenennen. Diese Option fügt jeder Datei nach dem Ersetzungsdateinamen (Text1, Text2, …) inkrementierende Zahlen hinzu.
Beachten Sie, dass die Dateinamen in Text geändert wurden, gefolgt von inkrementierenden Zahlen.
Suchen und Ersetzen von Wörtern in den Dateinamen
Um mehrere Dateien mit einem bestimmten Dateinamen umzubenennen, wählen Sie die Option Text suchen und ersetzen.
Geben Sie den Text in das Feld Vorhandener Text und den Ersetzungstext in das Feld Ersetzen durch ein, und klicken Sie dann auf Umbenennen, um den Text zu ersetzen. Diese Option findet und ersetzt bestimmte Texte in Dateinamen.
Nun können Sie unten sehen, dass Sie das Wort „Text“ in jedem Dateinamen durch „Datei“ ersetzt haben.
Umbenennen von Dateien mit dem mv-Befehl
Wenn Sie Befehle ausführen möchten, anstatt in einer GUI zu navigieren, sollten Sie lernen, wie Sie Dateien in einem Terminal umbenennen. Das Umbenennen von Dateien im Linux-Terminal ähnelt dem Umbenennen in anderen Befehlszeilenumgebungen wie PowerShell. Sie führen die Befehle aus, um den ursprünglichen Dateinamen mit dem Zieldateinamen umzubenennen, und das war’s.
Beim Umbenennen einer Datei gibt es zwei Szenarien. Die erste besteht darin, eine Datei aus dem Arbeitsverzeichnis umzubenennen, und die zweite besteht darin, den vollständigen Pfad anzugeben. Schauen Sie sich die folgende mv
-Befehlssyntax an, um eine Datei umzubenennen, wobei source
der ursprüngliche Name und destination
der Ersatzname ist.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
Umbenennen einer einzelnen Datei mit dem Befehl mv
Während die Syntax des Befehls mv noch frisch ist, versuchen wir, eine einzelne Datei umzubenennen.
Um zu demonstrieren, wie eine einzelne Datei und ein Verzeichnis umbenannt werden:
1. Starten Sie Ihr Terminal und führen Sie die folgenden Befehle aus, um ein Verzeichnis und zwei Textdateien zu erstellen.
# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt
2. Führen Sie als Nächstes den Befehl ls
aus, um die Dateien im Arbeitsverzeichnis aufzulisten. Unten sehen Sie diese Datei1.txt und datei2.txt im Verzeichnis ~/test vorhanden.
3. Führen Sie einen der folgenden mv
-Befehle aus, um file1.txt
in file10.txt
umzubenennen.
# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt
Das Umbenennen eines Verzeichnisses entspricht dem Umbenennen einer Datei wie folgt:
mv ~/test ~/demo
. Das~
-Symbol kennzeichnet das Home-Verzeichnis.
4. Führen Sie schließlich den Befehl ls
erneut aus, um die Dateien im Arbeitsverzeichnis aufzulisten.
Unten sehen Sie diese Datei1.txt wird jetzt in file10 umbenannt.txt.
Umbenennen mehrerer Dateien mit einer For-Schleife
Wenn Sie zu beschäftigt mit anderen Aufgaben sind und alle Dateien auf einmal umbenennen möchten, müssen Sie eine for-Loop-Anweisung wie die folgende verwenden.
Kopieren Sie den folgenden Code unverändert, fügen Sie ihn in Ihr Terminal ein und drücken Sie die Eingabetaste. Der folgende Code durchsucht jede Textdatei im Arbeitsverzeichnis und benennt die Dateien mit „Datei“ gefolgt von einer inkrementierenden Nummer um.
# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done
Das Einfügen des Codes in Ihr Terminal funktioniert einwandfrei, aber als bewährte Methode ist es besser, wenn Sie stattdessen eine Skriptdatei erstellen, die ausgeführt werden soll.
Unten sehen Sie in Aktion, wie der Code alle Dateien umbenennt.
Umbenennen von Dateien in Linux mit dem Umbenennungsprogramm
Wenn Sie eine einzelne Datei in Ihrer täglichen Routine umbenennen, reicht der Befehl mv
aus. Aber vielleicht möchten Sie mehrere Dateien mit demselben Muster gleichzeitig umbenennen? Zum Beispiel Umbenennen von Dateien, die mit einem bestimmten Wort (Datei) beginnen. Installieren Sie in diesem Fall stattdessen das Dienstprogramm Umbenennen.
Das Dienstprogramm Umbenennen benennt mehrere Dateien um, ändert Dateinamenformate und überschreibt Dateien.
Um das Dienstprogramm Umbenennen zu installieren, führen Sie je nach Linux-Distribution, an der Sie arbeiten, einen der folgenden Befehle aus.
# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename
Sie können unten die rename
Befehlssyntax sehen.
rename <options> <perlexpr> <files>
Umbenennen mehrerer Dateien
Unter Berücksichtigung der rename
-Befehlssyntax können Sie jetzt Dateien mit demselben Muster umbenennen. Das Tolle am Befehl rename
ist, dass Sie keine Schleifenfunktion deklarieren müssen, um mehrere Dateien umzubenennen, wie Sie es im Abschnitt „Umbenennen mehrerer Dateien mit einer For-Schleife“ getan haben.
Vielleicht möchten Sie Dateien mit bestimmten Wörtern umbenennen. Wenn ja, schauen Sie sich den regulären Perl-Ausdruck ('s/file/myfile/'
) im folgenden Beispielbefehl an. Reguläre Perl-Ausdrücke definieren ein Zeichenfolgenmuster, das auf der Programmiersprache Perl basiert.
Um ein versehentliches Umbenennen anderer Dateien zu vermeiden, listen Sie alle betroffenen Dateien auf, bevor Sie sie umbenennen, indem Sie die Option -n
hinzufügen (siehe unten).
rename -n 's/file/myfile/' *.txt
Führen Sie nun einen der folgenden rename
-Befehle aus, um das Wort file
durch myfile
im Namen jeder Textdatei im Arbeitsverzeichnis oder im Verzeichnis ~/test/*.txt
zu ersetzen.
Im Perl-Ausdruck ('s/file/myfile/'
) bezeichnet s
die Ersetzung, was bedeutet, dass Sie Dateien umbenennen. Beachten Sie, dass die Option -v
hinzugefügt wurde, um zurückzugeben, welche Dateien der Befehl umbenannt hat.
# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt
Unten sehen Sie, dass jedes „Datei“ -Wort in den Textdateien in „myfile“ umbenannt wird.“
Wenn Sie stattdessen alle Dateien umbenennen möchten, entfernen Sie die Dateierweiterung, wenn Sie beispielsweise den Dateipfad angeben,
rename -v 's/file/myfile/' ~/test/*
Dateierweiterungen ändern
Neben Dateinamen benennt der Befehl rename
auch Dateierweiterungen um. Möglicherweise haben Sie Dateien mit der falschen Dateierweiterung erstellt. In diesem Fall geben Sie die zu ändernde Dateierweiterung in einem Perl-Ausdruck an, wenn Sie den Befehl rename
ausführen.
Führen Sie den folgenden Befehl rename
aus, um die Erweiterung aller Dateien (*
) im Verzeichnis ~/test
von .txt
in .html
zu ändern. Das $
-Symbol im Perl-Ausdruck stimmt mit dem Ende einer Zeichenfolge (.txt
) mit jedem Dateinamen überein, sodass der Befehl nur die .txt
-Dateierweiterungen ändert. Fügen Sie wie beim Umbenennen mehrerer Dateien die Option -v
hinzu, um jede Änderung aufzulisten, die der Befehl vornimmt.
rename -v 's/.txt$/.html/' *.txt
Um stattdessen alle Dateierweiterungen zu entfernen, entfernen Sie die Ersetzungszeichenfolge im Perl-Ausdruck wie folgt:
rename -v 's/.txt$//' *.txt
Wie Sie im Bild unten sehen, das .txt-Erweiterungen geändert .HTML-code
Ändern von Dateinamen in Groß- und Kleinbuchstaben
Anstelle falscher Dateierweiterungen haben Sie es möglicherweise mit Dateinamen in Kleinbuchstaben zu tun und umgekehrt. Möglicherweise versuchen Sie, eine Datei speziell in Großbuchstaben zu finden, ohne zu wissen, dass der Dateiname in Kleinbuchstaben geschrieben ist.
Linux unterscheidet zwischen Groß- und Kleinschreibung, also stellen wir sicher, dass Sie die Groß- und Kleinschreibung jedes Dateinamens richtig stellen. Großbuchstaben sind im Grunde die Unterscheidung von Texten zwischen Klein- und Großbuchstaben.
Führen Sie einen der folgenden rename
-Befehle aus, um alle Dateinamen in Kleinbuchstaben (a-z
) im Arbeitsverzeichnis (*
) in Großbuchstaben (A-Z
) zu ändern und umgekehrt.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
Sie können unten beide Ergebnisse des Änderns eines Dateinamensbuchstabens sehen.
Ersetzen und Entfernen von Leerzeichen in Dateinamen
Wie bei einem Dateinamen können Sie Probleme haben, Dateien zu finden, wenn ihre Dateinamen Leerzeichen enthalten. Lassen Sie uns das beheben, indem Sie entweder Leerzeichen durch ein Zeichen ersetzen oder die Leerzeichen ganz entfernen.
Führen Sie den folgenden Befehl rename
aus, um Leerzeichen in allen Dateinamen durch einen Unterstrich (_
) im Arbeitsverzeichnis zu ersetzen. Da der Unterstrich ein Metazeichen ist, maskieren Sie ihn mit einem Backslash (\_
), um den Unterstrich wörtlich zu deklarieren. Metazeichen sind Sonderzeichen mit besonderer Bedeutung in einem Computerprogramm.
Hinweis Das g
im Perl-Ausdruck weist den Befehl an, alle Übereinstimmungen (Leerzeichen) zu ersetzen, und nicht nur das erste.
rename -v 's/ /\_/g' *
Unten sehen Sie, dass der Befehl alle Leerzeichen durch Unterstriche ersetzt hat.
Führen Sie den folgenden Befehl aus, um alle Leerzeichen in einem Dateinamen zu entfernen, anstatt sie mit einem Zeichen zu füllen.
Im folgenden Perl-Ausdruck entspricht das Sternchen nach dem Leerzeichen (/ *
) allen Vorkommen von Leerzeichen in einem Dateinamen und nicht nur dem ersten. Das Ersetzungszeichen ist leer (//
), daher entfernt der Befehl rename
alle (g
) Leerzeichen.
rename -v "s/ *//g" *
Jetzt können Sie unten sehen, dass alle Leerzeichen aus jedem Dateinamen entfernt werden.
Großschreibung des ersten Buchstabens jedes Wortes in einem Dateinamen
Wenn Sie es vorziehen, die Leerzeichen beizubehalten und stattdessen den ersten Buchstaben jedes Wortes in einem Dateinamen groß zu schreiben, benötigen Sie einen komplexeren Perl-Ausdruck. Schauen Sie sich den Beispielbefehl unten an.
Der folgende Perl-Ausdruck entspricht einem einzelnen Zeichen (\w
) in einer Wortgrenze (\b
), solange das Zeichen weder ein Punkt noch ein Apostroph ist (?<!
). Der Befehl rename
übersetzt diesen Buchstaben dann in Großbuchstaben (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
Unten sehen Sie, dass jedes Wort in den Dateinamen mit einem Großbuchstaben beginnt, während die Dateierweiterungen unberührt bleiben.
Fazit
In diesem Tutorial haben Sie viele Möglichkeiten gelernt, Linux-Dateien über GUI und Befehlszeilenterminal umzubenennen. Sie haben jetzt ein solides Verständnis dafür, wie Sie Namen für einzelne und mehrere Dateien gleichzeitig bearbeiten können.
Warum nicht Linux Shell Scripting lernen und ein Skript erstellen, um das Umbenennen von Dateien in Linux zu automatisieren?