Schopnost měnit názvy souborů a adresářů je jednou z primárních dovedností, kterou potřebuje každý uživatel Linuxu. Tento článek navazuje na sérii článků Bash a ukazuje, jak používat různé způsoby, jako je správce souborů, nástroje mv a přejmenování, v kombinaci s konstrukcemi hledání a cyklování bash. Zlepšete své znalosti Linuxu za pouhé 3 minuty!
Máte k dispozici dva způsoby, jak to provést:
- Správce souborů.
- Terminál příkazového řádku.
Použití správce souborů

Jedním z nejjednodušších způsobů přejmenování souborů a adresářů v Linuxu pro nové uživatele je použití Midnight Commander.
Midnight Commander – je konzolový správce souborů klonovaný ze slavného Norton Commander.

Chcete-li nainstalovat Midnight Commander pod Ubuntu:
$ sudo apt-get update
$ sudo apt-get -y install mc
Pro CentOS/Fedora/RHEL použijte jiného správce balíčků:
$ sudo yum -y install mc
Chcete-li spustit Midnight Commander, spusťte mc příkaz.
Chcete-li přesunout volič souborů, musíte použít šipky na klávesnici. Chcete-li přepínat mezi levou a pravou obrazovkou, musíte použít Tab klíč. Můžete také používat myš, ale můžete vybírat pouze soubory, které jsou viditelné na obrazovce.
Chcete-li soubor nebo adresář přejmenovat, přesuňte nad něj kurzor a stiskněte F6 . Pokud jste zapomněli přesný klíč, pomocí myši vyberte Přesunout/Přejmenovat z nabídky Soubor.

Dále se podívejme, jak můžeme přejmenovat soubory a adresáře pomocí mv a přejmenovat příkazy.
příkaz „mv“
The mv příkaz vám pomůže m ov e nebo přejmenujte soubory a adresáře ze zdrojového do cílového umístění. Syntaxe příkazu je následující:
$ mv [OPTIONS] source destination
zdroj a cíl může být soubor nebo adresář.
Chcete-li přejmenovat soubor1.txt do souboru2.txt pomocí mv, proveďte následující příkaz:
$ mv file1.txt file2.txt
Chcete-li změnit název složky1 adresář do složky2 , použijte následující příkaz:
$ mv folder1 folder2
Přejmenování více souborů najednou
The mv nástroj může přejmenovat pouze jeden soubor najednou, ale můžete jej použít s jinými příkazy k přejmenování více než jednoho souboru. Mezi tyto příkazy patří najít a Bash pro a během smyčky.
Představme si například, že potřebujete změnit příponu souboru pro konkrétní typ souboru v adresáři. V následujícím příkladu přejmenujeme všechny soubory HTML a změníme jejich příponu z html na php .
Zde je příklad struktura složek:
$ tree example
example
├── index.html
├── page1.html
├── page2.html
└── page3.html
0 directories, 4 files
Nyní v příkladu použijeme následující konstrukci Bash for-loop adresář:
$ cd example
$ for f in *.html; do
mv "$f" "${f%.html}.php"
done
Zde jsme vstoupili do příkladu adresář. Dále jsme provedli mv příkaz v Bash for-loop (příkaz mezi for a hotovo klíčová slova).
Zde je to, co se děje:
- For-loop prochází soubory končící na .html a uvedení každého názvu souboru do proměnné f .
- Potom mv nástroj změní příponu každého souboru f z .html soubor do .php . Část výrazu ${f%.html} je zodpovědný za odstranění .html z názvu souboru. Úplný výraz “${f%.html}.php“ přidá .php na název souboru bez .html část.
Zde je očekávaný výsledek:
$ ls -l
total 0
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 index.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page1.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page2.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page3.php
příkaz „najít“
Pomocí najít nástroj je jedním z nejběžnějších způsobů automatizace operací se soubory a adresáři v Linuxu.
V příkladu níže používáme najít dosáhnout stejného cíle a změnit příponu souboru.
Najít nástroj najde všechny soubory končící na .html a používá -exec argument pro předání každého nalezeného názvu souboru skriptu sh shellu napsanému na jednom řádku.
$ find . -depth -name "*.html" -exec sh -c 'f="{}"; mv "$f" "${f%.html}.php"' \;
Na řádku skriptu sh nastavíme proměnnou f s hodnotou názvu souboru f=”{}” , pak spustíme známé mv příkaz. Středník se používá k oddělení příkazu proměnné set od mv příkaz.
příkaz „rename“
V některých případech je jednodušší použít přejmenování místo mv . A můžete jej použít s regulárními výrazy, aniž byste je museli kombinovat s jinými příkazy Linuxu.
Zde je syntaxe pro přejmenování příkaz:
$ rename [OPTIONS] regexp files
Přejmenujme například všechny .php soubory zpět do .html :
$ ls
index.php page1.php page2.php page3.php
$ rename 's/.php/.html/' *.php
$ ls
index.html page1.html page2.html page3.html
Pokud si přejete vytisknout názvy souborů, které jste vybrali pro přejmenování, můžete použít následující příkaz:
$ rename -n 's/.html/.php/' *.html
rename(index.html, index.php)
rename(page1.html, page1.php)
rename(page2.html, page2.php)
rename(page3.html, page3.php)
$ ls
index.html page1.html page2.html page3.html
Přehled
V tomto článku jste se naučili, jak změnit názvy souborů a adresářů v Linuxu různými způsoby. Doufáme, že tento článek byl užitečný. Pokud ano, pomozte nám to rozšířit do světa.