Oletko Uusi Linux-käyttöjärjestelmässä? Jos näin on, yleiset tehtävät, kuten tiedostojen ja kansioiden uudelleennimeäminen, voivat olla erilaisia kuin mihin olet tottunut. Mutta älä hermoile. Tiedostojen uudelleennimeämisen käsite Linuxissa on samanlainen kuin muissa käyttöjärjestelmissä.
tässä opetusohjelmassa opit monia tapoja nimetä Linuxissa olevia yksittäisiä ja useita tiedostoja uudelleen, sekä GUI: n että päätteessä suoritettavien komentojen avulla.
Let ’ s get started!
Sisällysluettelo
- Edeltävät opinnot
- Tiedostojen uudelleennimeäminen tiedostonhallintaohjelmalla
- yksittäisen tiedoston uudelleennimeäminen
- useiden tiedostojen uudelleennimeäminen Nautilus-tiedostonhallinnan
- Tiedostojen uudelleennimeäminen mallipohjaa käyttäen
- Etsi ja korvaa sanat tiedostonimissä
- Tiedostojen uudelleennimeäminen MV-komennolla
- yhden tiedoston uudelleennimeäminen MV-komennolla
- useiden For Loop
- Tiedostojen uudelleennimeäminen Linuxissa uudelleennimeämisohjelmalla
- useiden tiedostojen uudelleennimeäminen
- muuttuvat tiedostopäätteet
- tiedostonimien muuttaminen isoiksi ja pieniksi kirjaimiksi
- korvaa ja poistaa välilyöntejä tiedostonimissä
- jokaisen sanan ensimmäisen kirjaimen isolla alkukirjaimella tiedostonimessä
- johtopäätös
Edeltävät opinnot
jos haluat seurata tätä opetusohjelmaa, varmista, että sinulla on seuraavat tiedot::
- tämä opetusohjelma käyttää Ubuntu 18.04 LTS: ää, mutta muut Linux-distrot toimivat.
- tili, jolla on sudo / administrator-pääsy.
Tiedostojen uudelleennimeäminen tiedostonhallintaohjelmalla
jos olet tottunut hallitsemaan tiedostoja GUI: n kautta, aloitetaan tämä opetusohjelma tiedostojen uudelleennimeämiseksi tiedostonhallintaohjelmalla. GUI tiedostonhallinta ovat siistejä, koska näet tiedostot näkyvillä. Yksi näistä Linuxissa saatavilla olevista tiedostonhallintaohjelmista on Gnomen entinen tiedostonhallintaohjelma Nautilus. Tämä opetusohjelma osoittaa tiedostojen uudelleennimeämisen Nautilus – tiedostonhallinnan avulla.
Linuxin muita tiedostonhallintaohjelmia ovat Konqueror, Dolphin, Krusader, Thunar, Nemo file manager ja Sunflower file manager. Nämä tiedostonhallijat suorittavat saman tehtävän, mutta tiedostojen tai hakemistojen uudelleennimeäminen voi olla hieman erilaista.
Käynnistä pääte ja suorita sitten alla oleva komento ja asenna Nautilus (install nautilus
) apt
– paketinhallintaohjelmalla, jos sitä ei vielä ole koneessasi. Komento sudo
nostaa komennon sudo/administrator-oikeuksilla.
sudo apt install nautilus
yksittäisen tiedoston uudelleennimeäminen
yksittäisen tiedoston uudelleennimeäminen nautiluksessa vaatii vain muutaman klikkauksen, kuten Windows File Explorerissa.
jos haluat nimetä yhden tiedoston uudelleen, avaa Nautilus, napsauta hiiren kakkospainikkeella tiedostoa, jonka haluat nimetä uudelleen, ja valitse Uudelleennimeä, kuten alla on esitetty.
tämä esimerkki keskittyy tiedostojen uudelleennimeämiseen,mutta prosessi on sama sekä tiedostojen että hakemistojen uudelleennimeämiseksi.
kirjoita nyt uusi tiedostonimi alkuperäisen tiedostonimen tilalle, paina Enter tai napsauta Nimeä uudelleen, ja se on siinä.
useiden tiedostojen uudelleennimeäminen Nautilus-tiedostonhallinnan
avulla, kuten Windows, Ubuntu antaa sinulle enemmän vaihtoehtoja siitä, miten haluat nimetä useita tiedostoja kerralla.
jos haluat nimetä useita tiedostoja uudelleen, Valitse kaikki tiedostot, jotka haluat nimetä uudelleen, napsauta niitä hiiren kakkospainikkeella ja valitse Nimeä uudelleen. Näkyviin tulee ponnahdusikkuna, jossa voit valita, miten haluat nimetä valitsemasi tiedostot uudelleen.
alla on kaksi vaihtoehtoa, joista valita riippuen siitä, miten haluat nimetä valitut tiedostot uudelleen.
- Nimeä uudelleen mallipohjan avulla-näin voit nimetä tiedostoja uudelleen portaittain.
- Etsi ja korvaa teksti-Voit löytää ja korvata tiettyjä tekstejä tiedostonimissä.
Tiedostojen uudelleennimeäminen mallipohjaa käyttäen
tiedostojen uudelleennimeämiseksi mallipohjaa käyttäen, valitse Nimeä mallipohjaa käyttäen.
kirjoita nyt korvaava nimi tyhjään kenttään, jos haluat nimetä tiedostoja mallipohjalla, ja napsauta + Lisää-painiketta ja valitse mallipohjista. Valitse tämän opetusohjelman ensimmäinen (1,2,3,4) ja napsauta Nimeä uudelleen. Tämä asetus lisää lisäyksiä jokaiseen tiedostoon korvaavan tiedostonimen (Text1, Text2,…) jälkeen.
huomaa tiedostojen nimet muutettu tekstiksi, jonka jälkeen lisätään numeroita.
Etsi ja korvaa sanat tiedostonimissä
jos haluat nimetä useita tiedostoja uudelleen tietyllä tiedostonimellä, valitse Etsi ja korvaa teksti-asetus.
Kirjoita teksti olemassaolevaan tekstikenttään ja korvaava teksti Korvaa-kenttään ja napsauta sitten Nimeä korvataksesi tekstin. Tämä asetus etsii ja korvaa tietyt tekstit tiedostonimissä.
nyt, näet alla, että olet korvannut sanan ”teksti” kanssa ”tiedosto” kunkin tiedoston nimi.
Tiedostojen uudelleennimeäminen MV-komennolla
jos komentojen suorittaminen on sinun juttusi sen sijaan, että navigoit käyttöliittymässä, valmistaudu opettelemaan tiedostojen nimeäminen uudelleen päätteessä. Tiedostojen uudelleennimeäminen Linux-päätteessä on samanlaista kuin muissa komentoriviympäristöissä, kuten Powershellissa. Suoritat komennot nimetä alkuperäisen tiedoston nimi kohdetiedoston nimi, ja se on se.
tiedoston uudelleennimeämisessä on kaksi skenaariota. Ensimmäinen on tiedoston nimeäminen uudelleen työhakemistosta ja toinen määrittelemällä koko polku. Katso alla olevaa komennon mv
syntaksia ja nimeä tiedosto uudelleen, jossa source
on alkuperäinen nimi ja destination
on korvaava nimi.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
yhden tiedoston uudelleennimeäminen MV-komennolla
kun MV-komennon syntaksi on vielä tuoreessa mielessä, kokeillaan yhden tiedoston uudelleennimeämistä.
osoittamaan, miten yksittäinen tiedosto ja kansio nimetään uudelleen:
1. Käynnistä pääte ja suorita komentosarja alla luodaksesi hakemiston ja kaksi tekstitiedostoa.
# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt
2. Suorita seuraavaksi komento ls
luetteloidaksesi työhakemiston sisällä olevat tiedostot. Alla näet kyseisen tiedoston1.txt ja file2.txt on olemassa ~ / test-hakemistossa.
3. Suorita jompikumpi alla olevista mv
komennoista uudelleennimeäksesi file1.txt
nimellä file10.txt
.
# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt
hakemiston uudelleennimeäminen on sama kuin tiedoston uudelleennimeäminen, näin:
mv ~/test ~/demo
. Tunnus~
tarkoittaa kotihakemistoa.
4. Kirjoita lopuksi ls
– komento uudelleen työhakemiston tiedostojen luetteloimiseksi.
alla näet kyseisen tiedoston1.txt on nyt nimetty uudelleen tiedostoksi 10.txt.
useiden For Loop
– tyyppisten tiedostojen uudelleennimeäminen jos sinulla on liian kiire muiden tehtävien kanssa ja haluat nimetä kaikki tiedostot yhdellä kertaa, sinun on käytettävä alla olevan kaltaista for loop-lauseketta.
kopioi alla oleva koodi sellaisenaan, liitä se päätteeseesi ja paina Enter-näppäintä. Alla oleva koodi skannaa jokaisen työhakemiston tekstitiedoston ja nimeää tiedostot ”tiedostolla”, jota seuraa lisänumero.
# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done
koodin liittäminen päätelaitteeseesi toimii hyvin, mutta hyvänä käytäntönä on parempi, jos luot komentosarjatiedoston, joka suoritetaan sen sijaan.
alla näet toiminnassa, miten koodi nimeää kaikki tiedostot.
Tiedostojen uudelleennimeäminen Linuxissa uudelleennimeämisohjelmalla
jos nimeät yhden tiedoston uudelleen päivittäisessä rutiinissasi, mv
– komento riittää. Mutta ehkä olet tavoitteena nimetä useita tiedostoja samalla kaavalla kerralla? Esimerkiksi uudelleennimeämällä tiedostoja, jotka alkavat tietyllä sanalla (tiedosto). Siinä tapauksessa, asenna nimeä apuohjelma sijaan.
uudelleennimeämistyökalu nimeää useita tiedostoja, muuttaa tiedostonimimuotoja ja korvaa tiedostoja.
uudelleennimeämisapuohjelman asentamiseksi suorita jokin alla olevista komennoista riippuen Työstämästäsi Linux-distrosta.
# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename
näet alta rename
komentosyntaksin.
rename <options> <perlexpr> <files>
useiden tiedostojen uudelleennimeäminen
rename
komentosyntaksi mielessä, voit nyt nimetä tiedostoja, joissa on sama kuvio. Hienoa rename
– komennossa on se, että sinun ei tarvitse julistaa loop-toimintoa nimeääksesi useita tiedostoja uudelleen, kuten teit ”Renaming Multiple Files with a For Loop” – osiossa.
ehkä haluat nimetä tiedostoja, joissa on tiettyjä sanoja. Jos näin on, katso Perlin säännöllistä lauseketta ('s/file/myfile/'
) alla olevasta esimerkkikomennosta. Perlin säännölliset lausekkeet määrittelevät merkkijonon, joka perustuu Perl-ohjelmointikieleen.
välttääksesi muiden tiedostojen virheellisen uudelleennimeämisen, luetteloi kaikki kyseiset tiedostot ennen niiden uudelleennimeämistä lisäämällä -n
– valinta, kuten alla on esitetty.
rename -n 's/file/myfile/' *.txt
Suorita nyt joko alla olevista rename
komennoista sana file
myfile
jokaisen tekstitiedoston nimessä työhakemiston sisällä tai ~/test/*.txt
hakemistossa.
Perl-lausekkeessa ('s/file/myfile/'
) s
merkitsee substituutiota, mikä tarkoittaa tiedostojen uudelleennimeämistä. Huomaa, että -v
– asetus lisätään palauttaaksesi komennon uudelleennimetyt tiedostot.
# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt
alla näkyy, että jokainen tekstitiedostojen” tiedosto ”- sana on nimetty muotoon ” myfile.”
jos haluat nimetä kaikki tiedostot uudelleen, poista tiedostopääte, kun määrität tiedostopolun, esimerkiksi,
rename -v 's/file/myfile/' ~/test/*
muuttuvat tiedostopäätteet
muut kuin tiedostonimet, komento rename
nimeää myös tiedostopäätteet. Ehkä olet luonut tiedostoja väärällä tiedostotunnisteella. Siinä tapauksessa määrität tiedostopääteen, joka muuttuu Perl-lausekkeessa, kun suoritat komennon rename
.
suorita alla oleva rename
– komento muuttaaksesi kaikki tiedostot ” (*
) – laajennus .txt
– .html
– kansiossa ~/test
. $
symboli Perl-lausekkeessa vastaa merkkijonon (.txt
) loppua kuhunkin tiedostonimeen, joten komento muuttaa vain .txt
tiedostopäätteitä. Ja kuten useiden tiedostojen uudelleennimeämisessä, lisää -v
– valitsin listataksesi kaikki komennon tekemät muutokset.
rename -v 's/.txt$/.html/' *.txt
jos haluat poistaa kaikki tiedostopäätteet, poista korvaava merkkijono Perl-lausekkeesta näin:
rename -v 's/.txt$//' *.txt
kuten näette kuvan alla,.txt laajennukset muutettu .html
tiedostonimien muuttaminen isoiksi ja pieniksi kirjaimiksi
virheellisten tiedostopäätteiden sijaan saatat käsitellä tiedostonimiä pienillä kirjaimilla ja päinvastoin. Ehkä yrität löytää tiedoston nimenomaan isoilla kirjaimilla, tietämättä tiedoston nimi on pieni.
Linux on kirjainkokoherkkä, joten varmistetaan, että sinulla on jokaisen tiedostonimen kirjaintapaus oikein. Kirjainlaukku on pohjimmiltaan tekstien erottelua pienten ja suurten kirjainten välillä.
suorita jompikumpi alla olevista rename
komennoista muuttaaksesi kaikki työhakemiston (*
) pienet (a-z
) tiedostonimet isoiksi (A-Z
) ja päinvastoin.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
voit katsoa alta molemmat tulokset tiedostonimen kirjainjutun muuttamisesta.
korvaa ja poistaa välilyöntejä tiedostonimissä
kuten tiedostonimen kirjainkotelossa, voi olla vaikeuksia löytää tiedostoja, jos niiden tiedostonimissä on välilyöntejä. Korjataan se joko korvaamalla välilyönnit merkillä tai poistamalla välilyönnit kokonaan.
suorita alla oleva komentorename
korvataksesi välilyönnit kaikissa tiedostonimissä alaviivalla (_
) työhakemistossa. Koska alaviiva on metatyyppi, pakota se selkäviivalla (\_
) julistamaan alaviiva kirjaimellisesti. Metakaraktorit ovat erikoismerkkejä, joilla on erityisiä merkityksiä tietokoneohjelmassa.
huomaa, että Perl-lausekkeessa oleva g
kertoo komennon korvaavan kaikki osumat (välilyönnit), eikä vain ensimmäistä.
rename -v 's/ /\_/g' *
alla näkyy, että komento korvasi kaikki välilyönnit alaviivoilla.
jos haluat poistaa kaikki välilyönnit tiedostonimestä sen sijaan, että täyttäisit ne merkillä, suorita alla oleva komento.
alla olevassa Perl-lausekkeessa tyhjän avaruuden (/ *
) perässä oleva asteriski täsmää kaikkiin tiedostonimen välilyöntien esiintymiin eikä vain ensimmäiseen. Korvaava merkki on tyhjä (//
), joten rename
– komento poistaa kaikki (g
) välilyönnit.
rename -v "s/ *//g" *
nyt näet alta, että kaikki välilyönnit on poistettu jokaisesta tiedostonimestä.
jokaisen sanan ensimmäisen kirjaimen isolla alkukirjaimella tiedostonimessä
jos haluat säilyttää välilyönnit ja isolla jokaisen sanan ensimmäisen kirjaimen tiedostonimessä, tarvitset monimutkaisemman Perl-lausekkeen. Tutustu esimerkkikomentoon alla.
alla oleva Perl-lauseke vastaa mitä tahansa yksittäistä merkkiä (\w
) sanarajassa (\b
), kunhan merkki ei ole periodi eikä heittomerkki (?<!
). Komento rename
kääntää tämän jälkeen kirjaimen isoiksi kirjaimiksi (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
alla näkyy, että jokainen sana tiedostonimissä alkaa isolla kirjaimella jättäen tiedostopäätteet koskemattomiksi.
johtopäätös
tämän opetusohjelman aikana olet oppinut monia tapoja nimetä Linux-tiedostoja uudelleen GUI: n ja komentorivipäätteen kautta. Sinulla on nyt vankka käsitys siitä, miten manipuloida nimiä yhden ja useita tiedostoja kerralla.
miksi ei opeteltaisi Linux shell scriptingiä ja luotaisi skriptiä, jolla tiedostojen uudelleennimeäminen Automatisoitaisiin Linuxissa?