bent u nieuw op het Linux besturingssysteem? Als dat zo is, gemeenschappelijke taken zoals het hernoemen van bestanden en mappen kunnen anders zijn dan wat u gewend bent. Maar maak je geen zorgen. Het concept van het hernoemen van bestanden in Linux is vergelijkbaar met hoe het wordt gedaan in andere besturingssystemen.
in deze tutorial leer je veel manieren om enkele en meerdere bestanden te hernoemen in Linux, zowel via GUI als het uitvoeren van commando ‘ s in een terminal.
aan de slag!
inhoudsopgave:
- vereisten
- hernoemen van bestanden met Bestandsbeheer
- het hernoemen van een enkel bestand
- meerdere bestanden hernoemen met Nautilus File Manager
- hernoemen van bestanden met behulp van een sjabloon
- zoeken en vervangen van woorden in de bestandsnamen
- bestanden hernoemen met het MV Commando
- hernoemen van een enkel bestand met het MV Commando
- meerdere bestanden hernoemen met een For Loop
- bestanden hernoemen in Linux met het rename Utility
- hernoemen van meerdere bestanden
- bestandsextensies veranderen
- het veranderen van bestandsnamen in hoofdletters en kleine letters
- het vervangen en verwijderen van spaties in bestandsnamen
- hoofdletters maken van de eerste Letter van elk woord in een bestandsnaam
- conclusie
vereisten
om mee te gaan in deze tutorial, zorg ervoor dat je het volgende hebt:
- deze tutorial maakt gebruik van Ubuntu 18.04 LTS, maar andere Linux distributies zullen werken.
- een account met sudo / administrator toegang.
hernoemen van bestanden met Bestandsbeheer
als u gewend bent om bestanden te beheren via GUI, laten we deze tutorial starten om bestanden te hernoemen met een bestandsbeheer. GUI file managers zijn netjes omdat je de bestanden in het zicht kunt zien. Een van die bestandsmanagers beschikbaar in Linux is GNOME ‘ s voormalige bestandsmanager, Nautilus. Deze tutorial toont het hernoemen van bestanden met behulp van de Nautilus file manager.
Linux ‘ s andere bestandsmanagers zijn Konqueror, Dolphin, Krusader, Thunar, Nemo file manager en Sunflower file manager. Deze bestandsbeheerders voeren dezelfde taak uit, maar het hernoemen van bestanden of mappen kan iets anders zijn.
start uw terminal en voer het onderstaande commando uit om Nautilus (install nautilus
) te installeren met de apt
pakketbeheerder als u deze nog niet op uw machine hebt. Het sudo
Commando verheft het commando met sudo / administrator rechten.
sudo apt install nautilus
het hernoemen van een enkel bestand
het hernoemen van een enkel bestand in Nautilus duurt slechts een paar klikken, zoals in Windows File Explorer.
om een enkel bestand te hernoemen, open Nautilus, klik met de rechtermuisknop op het bestand dat u wilt hernoemen, en kies hernoemen, zoals hieronder getoond.
dit voorbeeld richt zich op het hernoemen van bestanden, maar het proces is hetzelfde om zowel bestanden als mappen te hernoemen.
typ nu de nieuwe bestandsnaam om de originele bestandsnaam te vervangen, druk op Enter of klik op Hernoemen, en dat is het.
meerdere bestanden hernoemen met Nautilus File Manager
net als Windows biedt Ubuntu u meer opties over hoe u meerdere bestanden tegelijk wilt hernoemen.
om meerdere bestanden te hernoemen, Selecteer alle bestanden die u wilt hernoemen, klik met de rechtermuisknop op een van hen en kies hernoemen. Er verschijnt een pop-up venster waarin u kunt kiezen hoe u de geselecteerde bestanden wilt hernoemen.
hieronder zijn er twee opties om uit te kiezen, afhankelijk van hoe u de geselecteerde bestanden wilt hernoemen.
- hernoemen met behulp van een sjabloon – Hiermee kunt u bestanden in stappen hernoemen.
- tekst zoeken en vervangen-Hiermee kunt u bepaalde teksten in bestandsnamen vinden en vervangen.
hernoemen van bestanden met behulp van een sjabloon
om bestanden met behulp van een sjabloon te hernoemen, selecteert u de optie hernoemen met behulp van een sjabloon.
Voer nu de vervangende naam in het lege veld in om bestanden te hernoemen met een sjabloon, en klik op de knop +Toevoegen en kies uit de sjablonen. Selecteer voor deze tutorial de eerste (1,2,3,4) en klik op Hernoemen. Deze optie voegt het verhogen van getallen toe aan elk bestand na de vervangende bestandsnaam (Text1, Text2,…).
let op de bestandsnamen veranderd in tekst, gevolgd door het verhogen van getallen.
zoeken en vervangen van woorden in de bestandsnamen
om meerdere bestanden met een specifieke bestandsnaam te hernoemen, selecteert u de optie Tekst zoeken en vervangen.
Voer de tekst in het veld bestaande tekst en de vervangende tekst in het veld vervangen door in en klik vervolgens op hernoemen om de tekst te vervangen. Deze optie vindt en vervangt bepaalde teksten in bestandsnamen.
nu kunt u hieronder zien dat u het Woord “tekst” hebt vervangen door” Bestand ” in elke bestandsnaam.
bestanden hernoemen met het MV Commando
als het uitvoeren van commando ‘ s jouw ding is in plaats van te navigeren in een GUI, bereid je dan voor om te leren hoe je bestanden hernoemt in een terminal. Het hernoemen van bestanden in de Linux terminal is vergelijkbaar met het doen in andere command-line omgevingen, zoals PowerShell. Je voert de commando ‘ s uit om de oorspronkelijke bestandsnaam te hernoemen met de doelbestandsnaam, en dat is het.
er zijn twee scenario ‘ s bij het hernoemen van een bestand. De eerste is het hernoemen van een bestand uit de werkdirectory, en de tweede is door het volledige pad op te geven. Bekijk de syntaxis van het mv
commando hieronder om een bestand te hernoemen, waarbij source
de oorspronkelijke naam is en destination
de vervangende naam.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
hernoemen van een enkel bestand met het MV Commando
terwijl de syntaxis van het MV Commando nog vers in je geheugen ligt, proberen we het hernoemen van een enkel bestand.
om aan te tonen hoe een enkel bestand en map hernoemd kan worden:
1. Start uw terminal en voer de onderstaande commando ‘ s uit om een map en twee tekstbestanden te maken.
# 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. Voer vervolgens het ls
commando uit om de bestanden in de werkmap weer te geven. Hieronder ziet u dat bestand1.txt en bestand2.txt bestaat in de ~ / test directory.
3. Voer een van de onderstaande opdrachten mv
uit om file1.txt
te hernoemen als file10.txt
.
# 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
het hernoemen van een map is hetzelfde als het hernoemen van een bestand, zoals dit:
mv ~/test ~/demo
. Het~
symbool geeft de persoonlijke map aan.
4. Voer ten slotte het ls
commando opnieuw uit om de bestanden in de werkmap weer te geven.
hieronder ziet u dat bestand1.txt wordt nu hernoemd als file10.txt.
meerdere bestanden hernoemen met een For Loop
Als u het te druk hebt met andere taken en alle bestanden in één keer wilt hernoemen, moet u een For loop statement gebruiken zoals hieronder.
kopieer de onderstaande code als-is, plak deze in uw terminal en druk op Enter. De code hieronder scant elk tekstbestand in de werkmap en hernoemt de bestanden met “File” gevolgd door een oplopend nummer.
# 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
het plakken van de code in je terminal werkt prima, maar als goede praktijk is het beter als je een script bestand maakt om in plaats daarvan uit te voeren.
hieronder kunt u in actie zien hoe de code alle bestanden hernoemt.
bestanden hernoemen in Linux met het rename Utility
als je een enkel bestand hernoemt in je dagelijkse routine, dan is het mv
commando voldoende. Maar misschien wil je meerdere bestanden met hetzelfde patroon tegelijk hernoemen? Bijvoorbeeld, het hernoemen van bestanden die beginnen met een bepaald woord (bestand). Installeer in dat geval het hulpprogramma hernoemen in plaats daarvan.
het hulpprogramma hernoemen hernoemt meerdere bestanden, wijzigt de bestandsindelingen en overschrijft bestanden.
om het hulpprogramma hernoemen te installeren, voert u een van de onderstaande commando ‘ s uit, afhankelijk van de Linux distro waaraan u werkt.
# 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
hieronder kunt u de syntaxis van het rename
Commando zien.
rename <options> <perlexpr> <files>
hernoemen van meerdere bestanden
met de syntaxis rename
kunt u nu bestanden hernoemen die hetzelfde patroon hebben. Wat geweldig is aan het rename
commando is dat je geen lus functie hoeft te declareren om meerdere bestanden te hernoemen zoals je deed in de “hernoemen van meerdere bestanden met een For Loop” sectie.
misschien wilt u bestanden met bepaalde woorden hernoemen. Als dat zo is, kijk dan eens naar de Perl reguliere expressie ('s/file/myfile/'
) in het voorbeeld commando hieronder. Perl reguliere expressies definiëren een string patroon gebaseerd op de Perl programmeertaal.
om te voorkomen dat andere bestanden per ongeluk worden hernoemd, moet u alle betrokken bestanden weergeven voordat u ze hernoemt door de optie -n
toe te voegen, zoals hieronder te zien is.
rename -n 's/file/myfile/' *.txt
Voer nu een van de onderstaande rename
commando ‘ s uit om het woord file
te vervangen door myfile
in de naam van elk tekstbestand in de werkmap of de ~/test/*.txt
map.
in de Perl-expressie ('s/file/myfile/'
) geeft s
substitutie aan, wat betekent dat u bestanden hernoemt. Merk op dat de optie -v
is toegevoegd om terug te geven welke bestanden het commando hernoemde.
# 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
hieronder kunt u zien dat elk” bestand “woord in de tekstbestanden wordt hernoemd naar” mijnbestand.”
als u liever alle bestanden hernoemen, verwijdert u de bestandsextensie wanneer u het bestandspad opgeeft, bijvoorbeeld,
rename -v 's/file/myfile/' ~/test/*
bestandsextensies veranderen
anders dan bestandsnamen, hernoemt het rename
Commando ook bestandsextensies. Misschien hebt u bestanden gemaakt met de verkeerde bestandsextensie. In dat geval geeft u de bestandsextensie op die moet worden gewijzigd in een perl-expressie wanneer u het rename
– commando uitvoert.
voer onderstaande opdracht rename
uit om de extensie van alle bestanden (*
) te wijzigen van .txt
naar .html
in de map ~/test
. Het $
symbool in de Perl expressie komt overeen met het einde van een string (.txt
) aan elke bestandsnaam, dus het commando verandert alleen .txt
bestandsextensies. En net als bij het hernoemen van meerdere bestanden, voeg de -v
optie toe om elke wijziging die het commando maakt weer te geven.
rename -v 's/.txt$/.html/' *.txt
om in plaats daarvan alle bestandsextensies te verwijderen, verwijdert u de vervangende tekenreeks in de Perl-expressie, zoals dit:
rename -v 's/.txt$//' *.txt
zoals je ziet in de afbeelding hieronder, de .txt extensies veranderd in .html
het veranderen van bestandsnamen in hoofdletters en kleine letters
in plaats van onjuiste bestandsextensies, kunt u te maken hebben met bestandsnamen in kleine letters en vice versa. Misschien probeert u een bestand specifiek in hoofdletters te vinden, niet wetende dat de bestandsnaam in kleine letters staat.
Linux is hoofdlettergevoelig, dus laten we er zeker van zijn dat je de letter van elke bestandsnaam goed hebt. Letter case is in principe het onderscheid van teksten tussen kleine en hoofdletters.
voer een van de onderstaande rename
commando ‘ s uit om alle kleine (a-z
) bestandsnamen in de werkmap (*
) te veranderen in hoofdletters (A-Z
) en vice versa.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
hieronder kunt u beide resultaten zien van het wijzigen van een hoofdletter van een bestandsnaam.
het vervangen en verwijderen van spaties in bestandsnamen
zoals de letter van een bestandsnaam, kunt u problemen hebben met het vinden van bestanden als ze spaties in hun bestandsnamen hebben. Laten we dat oplossen door spaties te vervangen door een teken of de spaties helemaal te verwijderen.
voer onderstaande opdracht rename
uit om spaties in alle bestandsnamen te vervangen door een underscore (_
) in de werkmap. Omdat underscore een metacharacter is, escape it met een backslash (\_
) om de underscore letterlijk te verklaren. Metacharacters zijn speciale tekens met speciale betekenissen in een computerprogramma.
merk op dat de g
in de Perl-expressie het commando vertelt om alle overeenkomsten (spaties) te vervangen, en niet alleen de eerste.
rename -v 's/ /\_/g' *
hieronder kunt u zien dat het commando alle spaties heeft vervangen door underscores.
om alle spaties in een bestandsnaam te verwijderen in plaats van ze te vullen met een teken, voer je het onderstaande commando uit.
in de Perl-expressie hieronder komt het sterretje na de lege spatie (/ *
) overeen met alle voorkomen van spaties in een bestandsnaam en niet alleen de eerste. Het vervangende teken is leeg (//
), dus het commando rename
verwijdert alle (g
) spaties.
rename -v "s/ *//g" *
hieronder kunt u zien dat alle spaties uit elke bestandsnaam worden verwijderd.
hoofdletters maken van de eerste Letter van elk woord in een bestandsnaam
als u de spaties wilt behouden en in plaats daarvan de eerste letter van elk woord in een bestandsnaam wilt gebruiken, hebt u een complexere Perl-expressie nodig. Neem een kijkje op het voorbeeld commando hieronder.
de onderstaande Perl-expressie komt overeen met elk enkel teken (\w
) in een woordgrens (\b
) zolang het teken geen punt of apostrof is (?<!
). Het commando rename
vertaalt deze letter naar hoofdletters (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
hieronder kunt u zien dat elk woord in de bestandsnamen begint met een hoofdletter terwijl de bestandsextensies onaangeroerd blijven.
conclusie
gedurende deze tutorial, heb je vele manieren geleerd om Linux bestanden te hernoemen via GUI en command-line terminal. Je hebt nu een goed begrip van hoe namen te manipuleren voor enkele en meerdere bestanden tegelijk.
waarom niet Linux shell scripting leren, en een script maken om het hernoemen van bestanden in Linux te automatiseren?