Hur man byter namn på filer och kataloger i Linux

Att byta namn på filer är en av de mest grundläggande uppgifterna du ofta behöver utföra på ett Linux-system. Du kan byta namn på filer med en GUI-filhanterare eller via kommandoradsterminalen.

Att byta namn på en enskild fil är enkelt, men att byta namn på flera filer samtidigt kan vara en utmaning, särskilt för användare som är nya inom Linux .

I den här självstudien visar vi dig hur du använder kommandona mv och rename för att byta namn på filer och kataloger.

Byt namn på filer med kommandot mv #

mv -kommandot (kort förflyttning) används för att byta namn på eller flytta filer från en plats till en annan. Syntaxen för kommandot mv är följande:

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åste destination vara en katalog. I det här fallet flyttas source -filerna till målkatalogen.
  • Om du anger en enda fil som source, och destination -målet är en befintlig katalog, sedan flyttas filen till den angivna katalogen.
  • För att byta namn på en fil måste du ange en enda fil som source och en enda fil som destination mål.

Till exempel för att byt namn på filen file1.txt som file2.txt du skulle köra:

Byta namn på flera filer med kommandot mv #

mv kan bara byta namn på en fil åt gången, men den kan användas tillsammans med andra kommandon, t.ex. som find eller inuti bash for eller while loopar för att byta namn på flera filer.

Följande exempel visar hur du använder Bash for loop för att byta namn på alla .html filer i den aktuella katalogen genom att ändra .html tillägget till .php.

Låt oss analysera koden rad för rad:

  • Den första raden skapar en for 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 ersätter .html med .php. Delen ${file%.html} använder skalparameterutvidgningen för att ta bort .html -delen från filnamnet.
  • done anger slutet på slingans segment.

Här är ett exempel som använder mv i kombination med find för att uppnå samma som ovan:

find -kommandot skickar alla filer som slutar med .html i den aktuella katalogen till mv en efter en med -exec alternativ. Strängen {} är namnet på den fil som för närvarande behandlas.

Som du kan se från exemplen ovan, byter du namn på flera filer med mv -kommandot är inte en lätt uppgift eftersom det kräver goda kunskaper om Bash-skript.

Byta namn på filer med byta namn på kommando #

rename -kommandot används för att byta namn på flera filer. Det här kommandot är mer avancerat än mv eftersom det kräver grundläggande kunskaper om reguljära uttryck.

Det finns två versioner av rename kommando med olika syntax. I denna handledning använder vi Perl-versionen av kommandot rename. Om du inte har den här versionen installerad på ditt system kan du enkelt installera den med distributionens pakethanterare.

  • Installera rename på Ubuntu och Debian

  • Installera rename på CentOS och Fedora

  • Installera rename på Arch Linux

Syntaxen för kommandot rename är som följer:

Kommandot rename byter namn till files enligt angiven perlexpr reguljärt uttryck. Du kan läsa mer om perl reguljära uttryck här.

Följande exempel ändrar alla filer med tillägget .html till .php:

Du kan använda alternativet -n för att skriva ut namn på filer som ska döpas om utan att byta namn på dem.

Utdata ser ut så här:

Som standard skriver kommandot rename inte över befintliga filer. Skicka alternativet -f så att befintliga filer kan skrivas över:

Nedan följer några fler vanliga exempel på hur du använder kommandot rename:

Slutsats #

Vi har visat dig hur du använder mv och rename kommandon för att byta namn på filer.

Det finns också andra kommandon för att byta namn på filer i Linux, till exempel mmv. Nya Linux-användare som skräms av kommandoraden kan använda GUI-batchnamnverktyg som Métamorphose.

Write a Comment

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *