Slik endrer du navn på filer og kataloger i Linux

Endring av filer er en av de mest grunnleggende oppgavene du ofte trenger å utføre på et Linux-system. Du kan gi nytt navn til filer ved hjelp av en GUI-filbehandling eller via kommandolinjeterminalen.

Det er enkelt å gi nytt navn til en enkelt fil, men å gi nytt navn til flere filer på en gang kan være en utfordring, spesielt for brukere som er nye i Linux .

I denne opplæringen viser vi deg hvordan du bruker kommandoene mv og rename for å gi nytt navn til filer og kataloger.

Endre navn på filer med mv-kommandoen #

mv -kommandoen (kort flytting) brukes til å gi nytt navn til eller flytte filer fra et sted til et annet. Syntaksen for mv -kommandoen er som følger:

source kan være en eller flere filer, eller kataloger, og destination kan være en enkelt fil eller katalog.

  • Hvis du angir flere filer som source, må destination være en katalog. I dette tilfellet flyttes source -filene til målkatalogen.
  • Hvis du angir en enkelt fil som source, og destination -målet er en eksisterende katalog, og deretter flyttes filen til den angitte katalogen.
  • For å gi nytt navn til en fil, må du spesifisere en enkelt fil som source og en enkelt fil som destination mål.

For eksempel å gi nytt navn til filen file1.txt som file2.txt du vil kjøre:

Gi nytt navn til flere filer med kommandoen mv

mv -kommandoen kan bare gi nytt navn til en fil om gangen, men den kan brukes sammen med andre kommandoer, for eksempel som find eller inni bash for eller while sløyfer for å gi nytt navn til flere filer.

Følgende eksempel viser hvordan du bruker Bash for loop til å gi nytt navn til alle .html filer i gjeldende katalog ved å endre .html utvidelsen til .php.

La oss analysere koden linje for linje:

  • Den første linjen oppretter en for loop og gjentas gjennom en liste over alle filer som kantes med .html.
  • Den andre linjen gjelder for hvert element i listen og flytter filen til en ny som erstatter .html med .php. Delen ${file%.html} bruker shell-parameterutvidelsen for å fjerne .html -delen fra filnavnet.
  • done angir slutten av sløyfesegmentet.

Her er et eksempel som bruker mv i kombinasjon med find for å oppnå det samme som ovenfor:

find -kommandoen sender alle filer som slutter med .html i gjeldende katalog til mv en etter en ved hjelp av -exec alternativ. Strengen {} er navnet på filen som behandles for øyeblikket.

Som du kan se fra eksemplene ovenfor, endre navn på flere filer ved hjelp av mv -kommandoen er ikke en enkel oppgave, da den krever god kunnskap om Bash-skripting.

Endre navn på filer med nytt navn Kommando #

rename -kommandoen brukes til å gi nytt navn til flere filer. Denne kommandoen er mer avansert enn mv da den krever grunnleggende kunnskap om regulære uttrykk.

Det er to versjoner av rename kommando med annen syntaks. I denne opplæringen bruker vi Perl-versjonen av rename -kommandoen. Hvis du ikke har denne versjonen installert på systemet ditt, kan du enkelt installere den ved hjelp av pakkebehandleren for distribusjonen din.

  • Installer rename på Ubuntu og Debian

  • Installer rename på CentOS og Fedora

  • Installer rename på Arch Linux

Syntaksen for rename -kommandoen er som følger:

Kommandoen rename omdøper files i henhold til den angitte perlexpr vanlig uttrykk. Du kan lese mer om perl regulære uttrykk her.

Følgende eksempel vil endre alle filer med utvidelsen .html til .php:

Du kan bruke alternativet -n til å skrive ut navnene på filene som skal omdøpes, uten å gi dem nytt navn.

Utgangen vil se ut slik:

Som standard overskriver ikke kommandoen rename eksisterende filer. Gi alternativet -f for å tillate at eksisterende filer blir overskrevet:

Nedenfor er noen flere vanlige eksempler på hvordan du bruker kommandoen rename:

Konklusjon #

Vi har vist deg hvordan du bruker mv og rename kommandoer for å gi nytt navn til filer.

Det er også andre kommandoer for å gi nytt navn til filer i Linux, for eksempel mmv. Nye Linux-brukere som blir skremt av kommandolinjen, kan bruke GUI-batch-omdøpningsverktøy som Métamorphose.

Write a Comment

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *