új vagy a Linux operációs rendszerben? Ha igen, a gyakori feladatok, például a fájlok és mappák átnevezése eltérhetnek a megszokottól. De ne izgulj. A fájlok átnevezésének koncepciója Linuxban hasonló ahhoz, ahogyan más operációs rendszerekben történik.
ebben az oktatóanyagban számos módot tanulhat meg egy és több fájl átnevezésére Linux alatt, mind a GUI-n keresztül, mind a terminál parancsainak futtatásával.
kezdjük!
Tartalomjegyzék
- előfeltételek
- fájlok átnevezése a Fájlkezelővel
- egyetlen fájl átnevezése
- több fájl átnevezése A Nautilus File Manager használatával
- fájlok átnevezése sablonnal
- szavak keresése és cseréje a fájlnevekben
- fájlok átnevezése az MV paranccsal
- egyetlen fájl átnevezése az MV paranccsal
- több fájl átnevezése A For Loop
- fájlok átnevezése Linuxon az Átnevezés segédprogrammal
- több fájl átnevezése
- fájlkiterjesztések módosítása
- a helytelen fájlkiterjesztések helyett a fájlnevek nagy-és kisbetűkre változtatása
- szóközök cseréje és eltávolítása a fájlnevekben
- a fájlnévben szereplő minden szó első betűjének Nagybetűje
- következtetés
előfeltételek
az oktatóanyag követéséhez győződjön meg arról, hogy rendelkezik a következőkkel:
- ez az oktatóanyag az Ubuntu 18.04 LTS-t használja, de más Linux disztribúciók is működni fognak.
- sudo/rendszergazdai hozzáféréssel rendelkező fiók.
fájlok átnevezése a Fájlkezelővel
ha a fájlokat grafikus felhasználói felületen keresztül kezeli, indítsa el ezt az oktatóanyagot a fájlok átnevezéséhez fájlkezelővel. GUI fájlkezelők ügyes, mivel láthatjuk a fájlokat egyszerű látvány. A Linuxban elérhető fájlkezelők egyike a GNOME korábbi fájlkezelője, A Nautilus. Ez az oktatóanyag bemutatja a fájlok átnevezését a Nautilus fájlkezelő segítségével.
a Linux egyéb fájlkezelői a Konqueror, Dolphin, Krusader, Thunar, Nemo file manager és Sunflower file manager. Ezek a fájlkezelők ugyanazt a feladatot hajtják végre, de a fájlok vagy könyvtárak átnevezése kissé eltérhet.
indítsa el a terminált, majd futtassa az alábbi parancsot a Nautilus (install nautilus
) telepítéséhez a apt
csomagkezelővel, ha még nem rendelkezik a gépen. A sudo
parancs sudo/rendszergazdai jogokkal emeli a parancsot.
sudo apt install nautilus
egyetlen fájl átnevezése
egyetlen fájl átnevezése a Nautilusban csak néhány kattintást igényel, mint a Windows File Explorerben.
egyetlen fájl átnevezéséhez nyissa meg a Nautilus programot, kattintson a jobb gombbal az átnevezni kívánt fájlra, majd válassza az Átnevezés lehetőséget, az alábbiak szerint.
ez a példa a fájlok átnevezésére összpontosít, de a fájlok és könyvtárak átnevezése ugyanaz.
most írja be az új fájlnevet az eredeti fájlnév cseréjéhez, nyomja meg az Enter billentyűt, vagy kattintson az Átnevezés gombra.
több fájl átnevezése A Nautilus File Manager használatával
mint a Windows, az Ubuntu több lehetőséget kínál arra, hogy egyszerre több fájlt nevezzen át.
több fájl átnevezéséhez jelölje ki az összes átnevezni kívánt fájlt, kattintson a jobb gombbal bármelyikre, és válassza az Átnevezés lehetőséget. Megjelenik egy előugró ablak, ahol kiválaszthatja, hogyan szeretné átnevezni a kiválasztott fájlokat.
az alábbiakban két lehetőség közül választhat, attól függően, hogy hogyan szeretné átnevezni a kiválasztott fájlokat.
- átnevezés sablon használatával – ez lehetővé teszi a fájlok átnevezését lépésekben.
- Szöveg keresése és cseréje – lehetővé teszi bizonyos szövegek keresését és cseréjét a fájlnevekben.
fájlok átnevezése sablonnal
fájlok sablonnal történő átnevezéséhez válassza az Átnevezés sablonnal lehetőséget.
most írja be a helyettesítő nevet az üres mezőbe a fájlok sablonnal való átnevezéséhez, majd kattintson a +Hozzáadás gombra, és válasszon a sablonok közül. Ehhez az oktatóanyaghoz válassza ki az elsőt (1,2,3,4), majd kattintson az Átnevezés gombra. Ez az opció növeli a számok minden fájl után a csere fájlnév (Text1, Text2,…).
figyelje meg, hogy a fájlnevek szövegre változtak,majd növekszik a számok.
szavak keresése és cseréje a fájlnevekben
ha több fájlt szeretne átnevezni egy adott fájlnévvel, válassza a szöveg keresése és cseréje lehetőséget.
írja be a szöveget a meglévő szövegmezőbe, a helyettesítő szöveget pedig a csere ezzel mezőbe, majd kattintson az Átnevezés gombra a szöveg cseréjéhez. Ez az opció megkeresi és lecseréli a fájlnevek bizonyos szövegeit.
az alábbiakban láthatja, hogy minden fájlnévben a “szöveg” szót “Fájl” – ra cserélte.
fájlok átnevezése az MV paranccsal
ha a parancsok futtatása a te dolgod a GUI-ban való navigálás helyett, készüljön fel arra, hogy megtanulja, hogyan kell átnevezni a fájlokat egy terminálon. A fájlok átnevezése a Linux terminálon hasonló ahhoz, mint más parancssori környezetekben, például a PowerShell-ben. Futtatja a parancsokat, hogy átnevezze az eredeti fájlnevet a célfájl nevével, és ennyi.
a fájl átnevezésekor két forgatókönyv létezik. Az első egy fájl átnevezése a munkakönyvtárból, a második pedig a teljes elérési út megadásával. Vessen egy pillantást az alábbi mv
parancs szintaxisára egy fájl átnevezéséhez, ahol a source
az eredeti név, a destination
pedig a helyettesítő név.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
egyetlen fájl átnevezése az MV paranccsal
míg az mv parancs szintaxisa még mindig friss a fejedben, próbáljuk meg átnevezni egyetlen fájlt.
egyetlen fájl és könyvtár átnevezésének bemutatása:
1. Indítsa el a terminált, majd futtassa az alábbi parancssorozatot egy könyvtár és két szöveges fájl létrehozásához.
# 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. Ezután futtassa a ls
parancsot a fájlok listázásához a munkakönyvtárban. Az alábbiakban láthatja, hogy a fájl1.txt és file2.txt létezik a ~ / test könyvtárban.
3. Futtassa az alábbi mv
parancsok egyikét a file1.txt
átnevezéséhez file10.txt
néven.
# 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
a könyvtár átnevezése megegyezik a fájl átnevezésével, például:
mv ~/test ~/demo
. A~
szimbólum a saját könyvtárat jelöli.
4. Végül futtassa újra a ls
parancsot, hogy felsorolja a fájlokat a munkakönyvtárban.
alább látható, hogy a fájl1.txt most átnevezték file10.txt.
több fájl átnevezése A For Loop
ha túl elfoglalt más feladatokkal, és egyszerre szeretné átnevezni az összes fájlt, akkor az alábbihoz hasonló for loop utasítást kell használnia.
másolja az alábbi kódot, illessze be a terminálba, majd nyomja meg az Enter billentyűt. Az alábbi kód beolvassa a munkakönyvtár minden szövegfájlját, majd átnevezi a fájlokat “Fájl” – ra, amelyet egy növekvő szám követ.
# 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
a kód beillesztése a terminálba jól működik, de jó gyakorlatként jobb, ha létrehoz egy szkriptfájlt a futtatáshoz.
az alábbiakban láthatja, hogy a kód hogyan nevezi át az összes fájlt.
fájlok átnevezése Linuxon az Átnevezés segédprogrammal
ha egyetlen fájlt nevez át a napi rutinban, akkor a mv
parancs elegendő. De talán arra törekszik, hogy egyszerre több fájlt nevezzen át ugyanazzal a mintával? Például egy bizonyos szóval (fájl) kezdődő fájlok átnevezése. Ebben az esetben telepítse az Átnevezés segédprogramot.
az átnevezés segédprogram több fájlt nevez át, módosítja a fájlnév formátumát, és felülírja a fájlokat.
az átnevezés segédprogram telepítéséhez futtassa az alábbi parancsok bármelyikét, attól függően, hogy melyik Linux disztribúción dolgozik.
# 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
alább látható a rename
parancs szintaxisa.
rename <options> <perlexpr> <files>
több fájl átnevezése
a rename
parancs szintaxisát szem előtt tartva átnevezheti az azonos mintázatú fájlokat. A rename
paranccsal kapcsolatban az a nagyszerű, hogy nem kell deklarálnia egy hurok funkciót több fájl átnevezéséhez, mint a “több fájl átnevezése hurokkal” szakaszban.
lehet, hogy át szeretné nevezni a fájlokat bizonyos szavakkal. Ha igen, vessen egy pillantást a Perl reguláris kifejezésre ('s/file/myfile/'
) az alábbi mintaparancsban. A Perl reguláris kifejezések egy karakterlánc-mintát határoznak meg a Perl programozási nyelv alapján.
a többi fájl téves átnevezésének elkerülése érdekében sorolja fel az összes érintett fájlt, mielőtt átnevezné őket a -n
opció hozzáadásával, az alábbiak szerint.
rename -n 's/file/myfile/' *.txt
most futtassa az alábbi rename
parancsok egyikét, hogy a file
szót myfile
– re cserélje az egyes szövegfájlok nevében a munkakönyvtárban vagy a ~/test/*.txt
könyvtárban.
a Perl kifejezésben ('s/file/myfile/'
) a s
helyettesítést jelöl, ami azt jelenti, hogy fájlokat átnevez. Megjegyzés: a -v
opció hozzáadódik, hogy visszaadja, mely fájlokat nevezte át a parancs.
# 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
az alábbiakban láthatja, hogy a szöveges fájlok minden “fájl” szót átneveznek “myfile” – re.”
ha inkább átnevezi az összes fájlt, távolítsa el a fájlkiterjesztést, amikor megadja a fájl elérési útját, például,
rename -v 's/file/myfile/' ~/test/*
fájlkiterjesztések módosítása
a fájlneveken kívül a rename
parancs átnevezi a fájlkiterjesztéseket is. Talán nem a megfelelő fájlkiterjesztéssel hozta létre a fájlokat. Ebben az esetben a rename
parancs futtatásakor meg kell adnia a Perl kifejezésben módosítandó fájlkiterjesztést.
futtassa az alábbi rename
parancsot, hogy az összes fájl (*
) kiterjesztését .txt
– ről .html
– ra változtassa a ~/test
könyvtárban. A $
szimbólum a Perl kifejezésben megegyezik egy karakterlánc végével (.txt
) az egyes fájlnevekhez, így a parancs csak a .txt
fájlkiterjesztéseket változtatja meg. Több fájl átnevezéséhez hasonlóan adja hozzá a -v
opciót a parancs minden módosításának felsorolásához.
rename -v 's/.txt$/.html/' *.txt
az összes fájlkiterjesztés eltávolításához távolítsa el a helyettesítő karakterláncot a Perl kifejezésből, így:
rename -v 's/.txt$//' *.txt
amint az alábbi képen látható, az .a TXT kiterjesztések megváltoztak .html
a helytelen fájlkiterjesztések helyett a fájlnevek nagy-és kisbetűkre változtatása
előfordulhat, hogy a kisbetűkkel rendelkező fájlnevekkel foglalkozik, és fordítva. Lehet, hogy kifejezetten nagybetűs fájlt próbál megtalálni, nem tudva, hogy a fájl neve kisbetűs.
a Linux nagybetűérzékeny, ezért biztosítsuk, hogy minden fájlnév betűje megfelelő legyen. Letter case alapvetően a különbséget szövegek között kis-és nagybetűs.
futtassa az alábbi rename
parancsok bármelyikét, hogy a munkakönyvtárban (*
) lévő összes kisbetűs (a-z
) fájlnevet nagybetűre (A-Z
) változtassa, és fordítva.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
az alábbiakban láthatja a fájlnév betű esetének megváltoztatásának mindkét eredményét.
szóközök cseréje és eltávolítása a fájlnevekben
mint egy fájlnév betű tokja, problémát okozhat a fájlok megtalálása, ha szóközök vannak a fájlnevükben. Javítsuk ki ezt úgy, hogy a szóközöket egy karakterrel helyettesítjük, vagy teljesen eltávolítjuk a szóközöket.
futtassa az alábbi rename
parancsot, hogy az összes fájlnévben lévő szóközt aláhúzással (_
) helyettesítse a munkakönyvtárban. Mivel az aláhúzás metakarakter, kerülje el fordított perjellel (\_
), hogy az aláhúzást szó szerint deklarálja. A metakarakterek speciális karakterek, amelyek különleges jelentéssel bírnak egy számítógépes programban.
figyelem: a Perl kifejezésben a g
azt mondja a parancsnak, hogy cserélje ki az összes egyezést (szóközt), nem csak az elsőt.
rename -v 's/ /\_/g' *
az alábbiakban láthatja, hogy a parancs az összes szóközt aláhúzással helyettesítette.
a fájlnév összes szóközének eltávolításához ahelyett, hogy karakterrel töltené ki őket, futtassa az alábbi parancsot.
az alábbi Perl kifejezésben az üres szóköz utáni csillag (/ *
) megegyezik a fájlnév összes szóközének előfordulásával, nem csak az elsővel. A helyettesítő karakter üres (//
), így a rename
parancs eltávolítja az összes (g
) szóközt.
rename -v "s/ *//g" *
most alább láthatja, hogy az összes szóköz eltávolításra kerül minden fájlnévből.
a fájlnévben szereplő minden szó első betűjének Nagybetűje
ha inkább a szóközöket szeretné megtartani, és a fájlnévben szereplő minden szó első betűjét szeretné nagybetűvel írni, akkor összetettebb Perl kifejezésre lesz szüksége. Vessen egy pillantást az alábbi mintaparancsra.
az alábbi Perl kifejezés egy szóhatár bármely karakterére (\w
) illeszkedik (\b
), amennyiben a karakter nem pont vagy aposztróf (?<!
). A rename
parancs ezután lefordítja ezt a betűt nagybetűre (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
az alábbiakban láthatja, hogy a fájlnevek minden szava nagybetűvel kezdődik, miközben a fájlkiterjesztéseket érintetlenül hagyja.
következtetés
az oktatóanyag során számos módszert megtanult a Linux fájlok átnevezésére GUI-n és parancssori terminálon keresztül. Most már szilárd megértése van arról, hogyan lehet egyszerre manipulálni az egyes és több fájl nevét.
miért nem tanulja meg a Linux shell parancsfájlokat, és hoz létre egy parancsfájlt a fájlok átnevezésének automatizálására Linuxban?