Het hernoemen van bestanden is een van de meest basistaken die u vaak op een Linux-systeem moet uitvoeren. U kunt bestanden hernoemen met behulp van een GUI-bestandsbeheerder of via de opdrachtregelterminal.
Het hernoemen van een enkel bestand is eenvoudig, maar het hernoemen van meerdere bestanden tegelijk kan een uitdaging zijn, vooral voor gebruikers die nieuw zijn met Linux .
In deze tutorial laten we je zien hoe je de mv
en rename
commando’s kunt gebruiken om bestanden te hernoemen en mappen.
Hernoemen van bestanden met het mv-commando #
Het mv
-commando (op verplaatsing) wordt gebruikt om bestanden te hernoemen of te verplaatsen van de ene locatie naar de andere. De syntaxis voor het mv
commando is als volgt:
Het source
kan een of meer bestanden of mappen zijn en destination
kan een enkel bestand of een enkele map zijn.
- Als u meerdere bestanden specificeert als
source
, moet dedestination
een directory zijn. In dit geval worden desource
bestanden verplaatst naar de doelmap. - Als u een enkel bestand specificeert als
source
, en hetdestination
doel is een bestaande map, dan wordt het bestand verplaatst naar de opgegeven map. - Om een bestand te hernoemen, moet je een enkele bestand als
source
en een enkel bestand alsdestination
-doel.
Bijvoorbeeld om hernoem het bestand file1.txt
naar file2.txt
die u zou uitvoeren:
Hernoemen van meerdere bestanden met het mv Command #
Het mv
commando kan slechts één bestand tegelijk hernoemen, maar het kan gebruikt worden in combinatie met andere commando’s zoals als find
of inside bash for
of while
loops om meerdere bestanden te hernoemen.
Het volgende voorbeeld laat zien hoe je de Bash for-lus gebruikt om alle .html
bestanden in de huidige directory door de .html
extensie te veranderen in .php
.
Laten we de code regel voor regel analyseren:
- De eerste regel maakt een
for
loop en itereert door een lijst van alle bestanden met.html
. - De tweede regel is van toepassing op elk item van de lijst en verplaatst het bestand naar een nieuwe vervangt
.html
door.php
. Het gedeelte${file%.html}
gebruikt de uitbreiding van de shell-parameter om het.html
-gedeelte uit de bestandsnaam te verwijderen. -
done
geeft het einde van het lussegment aan.
Hier is een voorbeeld met mv
in combinatie met find
om hetzelfde te bereiken als hierboven:
De find
commando geeft alle bestanden die eindigen op .html
in de huidige directory door aan mv
een voor een met de -exec
optie. De string {}
is de naam van het bestand dat momenteel wordt verwerkt.
Zoals je kunt zien in de bovenstaande voorbeelden, hernoem je meerdere bestanden met de mv
commando is geen gemakkelijke taak aangezien het een goede kennis van Bash scripting vereist.
Bestanden hernoemen met het hernoemen Command #
Het rename
commando wordt gebruikt om meerdere bestanden te hernoemen. Dit commando is geavanceerder dan mv
aangezien het enige basiskennis van reguliere expressies vereist.
Er zijn twee versies van de rename
commando met verschillende syntaxis. In deze tutorial gebruiken we de Perl-versie van het rename
commando. Als u deze versie niet op uw systeem heeft geïnstalleerd, kunt u deze eenvoudig installeren met de pakketbeheerder van uw distributie.
-
Installeren
rename
op Ubuntu en Debian -
Installeer
rename
op CentOS en Fedora -
Installeer
rename
op Arch Linux
De syntaxis voor het rename
commando is als volgt:
Het rename
commando zal de files
hernoemen volgens de gespecificeerde perlexpr
reguliere expressie. U kunt hier meer lezen over reguliere expressies van perl.
In het volgende voorbeeld worden alle bestanden met de extensie .html
gewijzigd in .php
:
U kunt de -n
optie gebruiken om namen af te drukken van bestanden die hernoemd moeten worden, zonder ze te hernoemen.
De uitvoer zal er ongeveer zo uitzien:
Standaard overschrijft het rename
commando bestaande bestanden niet. Geef de -f
optie door om bestaande bestanden te laten overschrijven:
Hieronder staan er een paar meer voorbeelden van het gebruik van het rename
commando:
Conclusie #
We hebben je laten zien hoe je het mv
en rename
commando’s om bestanden te hernoemen.
Er zijn ook andere commando’s om bestanden te hernoemen in Linux, zoals mmv
. Nieuwe Linux-gebruikers die worden geïntimideerd door de opdrachtregel, kunnen GUI-hulpprogramma’s voor het hernoemen van batches gebruiken, zoals de Métamorphose.