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 flyttessource
-filene til målkatalogen. - Hvis du angir en enkelt fil som
source
, ogdestination
-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 somdestination
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.