Linux på svenska - 1 - Kom igång
Innehållsförteckning:
- Byt namn på filer med mv Command
- Byt namn på flera filer med mv Command
- Byt namn på filer med namn på kommando
- Slutsats
Byt namn på filer och kataloger är en av de mest grundläggande uppgifterna du ofta behöver utföra på ett Linux-system.
Att byta namn på en enda fil är enkelt, men att byta namn på flera filer på en gång kan vara en utmaning, särskilt för användare som är nya i Linux. Du kan byta namn på filer med en GUI-filhanterare eller via kommandoradsterminalen.
I den här tutorialen kommer vi att visa dig hur du använder
mv
och
rename
kommandona för att byta namn på filer och kataloger.
Byt namn på filer med mv Command
Kommandot
mv
(kort från flytt) används för att byta namn på eller flytta filer från en plats till en annan. Syntaxen för
mv
kommandot är som följer:
mv source destination
source
kan vara en eller flera filer eller kataloger och
destination
kan vara en enda fil eller katalog.
- Om du anger flera filer som
source
måstedestination
vara en katalog. I det här fallet flyttas källfilerna till målkatalogen. Om du anger en enda fil somsource
ochdestination
är en befintlig katalog flyttas filen till den angivna katalogen. För att byta namn på en fil måste du ange en enstaka fil somsource
och en fil somdestination
.
För att till exempel byta namn på filen
file1.txt
till
file2.txt
skulle du köra:
Byt namn på flera filer med mv Command
mv
kommandot kan bara byta namn på en fil åt gången, men det kan användas tillsammans med andra kommandon, t.ex.
find
eller inuti bash för eller medan loopar för att byta namn på flera filer.
Följande exempel visar hur man använder Bash för loop för att byta namn på alla
.html
filer i den aktuella katalogen genom att ändra
.html
tillägget till
.php
.
for f in *.html; do mv -- "$f" "${f%.html}.php" done
Låt oss analysera koden rad för rad:
- Den första raden skapar en för loop och iterates genom en lista över alla filer som kantas med
.html
Den andra raden gäller för varje objekt i listan och flyttar filen till en ny som ersätter.html
med.php
. Delen${file%.html}
använder utvidgningen av.html
att ta bort.html
delen från filnamnet.done anger slutet på loop-segmentet.
Vi kan också använda
mv
kommandot i kombination med
find
att uppnå detsamma som ovan.
find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;
-exec
alla filer som slutar med
.html
i den aktuella katalogen till
mv
kommandot en efter en med hjälp av
-exec
omkopplaren. Strängen
{}
är namnet på den fil som för närvarande behandlas.
Som du kan se av exemplen ovan är det inte en lätt uppgift att byta namn på flera filer med
mv
kommandot eftersom det kräver god kunskap om Bash-skript.
Byt namn på filer med namn på kommando
Kommandot
rename
används för att byta namn på flera filer. Detta kommando är mer avancerad än
mv
eftersom det kräver viss grundläggande kunskaper om vanliga uttryck.
Det finns två versioner av
rename
nytt
rename
med olika syntax. I den här tutorialen kommer vi att använda perl-versionen av namnet på nytt
rename
. Om du inte har den här versionen installerad på ditt system kan du enkelt installera den med hjälp av pakethanteraren för din distribution.
-
Installera namn på Ubuntu och Debian
sudo apt install rename
Installera namn på CentOS och Fedora
sudo yum install prename
Installera namn på Arch Linux
yay perl-rename ## or yaourt -S perl-rename
Syntaxen för
rename
kommandot är som följer:
rename perlexpr files
rename
kommandot byter namn på alla
files
enligt det angivna
perlexpr
reguljära uttrycket. Du kan om perl-reguljära uttryck här.
Till exempel kommer följande kommando att ändra alla filer med tillägget
.html
till
.php
:
rename 's/.html/.php/' *.html
Du kan använda argumentet
-n
att skriva ut namn på filer som ska bytas om utan att byta namn på dem.
rename -n 's/.html/.php/' *.html
Utgången ser ut så här:
rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)
Som standard kommer inte namnet på kommandot att skriva över befintliga filer. Vidarebefordra
-f
argumentet så att befintliga filer kan skrivas över.
rename -f 's/.html/.php/' *.html
Nedan följer några vanliga exempel på hur man använder namn på kommandot:
-
Byt ut mellanslag i filnamn med understreck
rename 'y/ /_/' *
Konvertera filnamn till små bokstäver
rename 'y/AZ/az/' *
Konvertera filnamn till versaler
rename 'y/az/AZ/' *
Slutsats
Nu bör du ha en god förståelse för hur du använder kommandona
mv
och
rename
att byta namn på filer. Naturligtvis finns det andra kommandon för att byta namn på filer i Linux, t.ex.
mmv
. Nya Linux-användare som skrämmas av kommandoraden kan använda GUI-batchnamnverktyg som Métamorphose.
Ledamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man byter namn på Android-appar och ändrar ikoner
Lär dig hur man byter namn på Android-appar och ändrar deras ikoner.
Hur man byter namn på en lokal och avlägsen gitgren
Du skapade en ny gren, pressade ändringarna i fjärrlagret och insåg att ditt filialnamn var felaktigt. Den här guiden förklarar hur man byter namn på lokal och avlägsen Git-gren.