Přejmenování souborů je jedním z nejzákladnějších úkolů, které v systému Linux často potřebujete provést. Soubory můžete přejmenovat pomocí správce souborů GUI nebo pomocí terminálu příkazového řádku.
Přejmenování jednoho souboru je snadné, ale přejmenování více souborů najednou může být výzvou, zejména pro uživatele, kteří v systému Linux začínají. .
V tomto výukovém programu vám ukážeme, jak používat příkazy mv
a rename
k přejmenování souborů a adresáře.
Přejmenování souborů pomocí příkazu mv #
Příkaz mv
(krátký přesun) se používá k přejmenování nebo přesunu souborů z z jednoho místa na druhé. Syntaxe příkazu mv
je následující:
The source
může být jeden nebo více souborů nebo adresářů a destination
může být jeden soubor nebo adresář.
- Pokud zadáte více souborů jako
source
, musí býtdestination
adresář. V takovém případě sesource
soubory přesunou do cílového adresáře. - Pokud zadáte jeden soubor jako
source
a cíldestination
je existující adresář, pak je soubor přesunut do zadaného adresáře. - Chcete-li soubor přejmenovat, musíte zadat jeden soubor jako
source
a jeden soubor jakodestination
cíl.
Například přejmenujte soubor file1.txt
na file2.txt
, který byste spustili:
Přejmenování více souborů pomocí příkazu mv #
Příkaz mv
může přejmenovat pouze jeden soubor najednou, ale lze jej použít ve spojení s dalšími příkazy, například jako find
nebo uvnitř smyček bash for
nebo while
k přejmenování více souborů.
Následující příklad ukazuje, jak použít smyčku Bash for k přejmenování všech .html
soubory v aktuálním adresáři změnou přípony .html
na .php
.
Pojďme analyzovat kód po řádku:
- První řádek vytvoří
for
a iteruje seznamem všech souborů lemovaných.html
. - Druhý řádek se vztahuje na každou položku seznamu a přesune soubor do nový nahrazující
.html
.php
. Část${file%.html}
používá rozšíření parametru prostředí k odstranění části.html
z názvu souboru. -
done
označuje konec segmentu smyčky.
Zde je příklad použití mv
v kombinaci s find
k dosažení stejného výsledku jako výše:
find
příkaz předává jeden po druhém všechny soubory končící na .html
v aktuálním adresáři mv
= „f7e1168bd5″>
možnost. Řetězec {}
je název aktuálně zpracovávaného souboru.
Jak vidíte z výše uvedených příkladů, přejmenování více souborů pomocí mv
příkaz není snadný úkol, protože vyžaduje dobrou znalost skriptování Bash.
Přejmenování souborů pomocí příkazu přejmenování #
se používá k přejmenování více souborů. Tento příkaz je pokročilejší než mv
, protože vyžaduje základní znalosti regulárních výrazů.
Existují dvě verze rename
příkaz s jinou syntaxí. V tomto tutoriálu budeme používat Perlskou verzi příkazu rename
. Pokud tuto verzi ve svém systému nemáte nainstalovanou, můžete ji snadno nainstalovat pomocí správce balíků vaší distribuce.
-
Nainstalujte
rename
na Ubuntu a Debian -
Nainstalujte
rename
na CentOS a Fedora -
Nainstalujte
rename
na Arch Linux
Syntaxe příkazu rename
je následující:
Příkaz rename
přejmenuje files
podle zadaného perlexpr
regulární výraz. Více o regulárních výrazech perl si můžete přečíst zde.
Následující příklad změní všechny soubory s příponou .html
na .php
:
Pomocí možnosti -n
můžete vytisknout názvy souborů, které chcete přejmenovat, aniž byste je přejmenovali.
Výstup bude vypadat přibližně takto:
Ve výchozím nastavení příkaz rename
nepřepíše existující soubory. Předáním možnosti -f
povolíte přepisování stávajících souborů:
Níže uvádíme několik běžnějších příklady použití příkazu rename
:
Závěr #
Ukázali jsme vám, jak použít mv
a rename
příkazy k přejmenování souborů.
K přejmenování souborů v systému Linux existují i další příkazy, například mmv
. Noví uživatelé systému Linux, kteří jsou zastrašeni příkazovým řádkem, mohou používat dávkové nástroje pro přejmenování GUI, jako je Métamorphose.