Úvod
Přejmenování adresáře je jedním z nejzákladnějších úkolů, které budete provádět na jakémkoli operačním systému. Terminál Linux nabízí několik různých způsobů přejmenování adresářů pomocí příkazů a skriptů.
V tomto tutoriálu si projdeme různé metody, které můžete použít k přejmenování adresáře v Linuxu prostřednictvím okna terminálu.
Předpoklady
- Systém s distribucí Linuxu
- Účet s právy sudo
- Přístup do okna terminálu/příkazového řádku
- Přístup k textovému editoru, jako je Vim nebo Nano
Přejmenování adresářů pomocí příkazu mv
Primární funkce mv
příkaz v Linuxu přesouvá soubory a adresáře z jednoho místa na druhé. Používá následující syntaxi příkazu:
mv [options] [source] [destination]
Pokud cílový adresář neexistuje, mv
příkaz místo toho přejmenuje zdrojový adresář. V tomto případě se syntaxe změní na:
mv [options] [current directory name] [new directory name]
Jako příklad řekněme, že máme Adresář1 , Adresář2 a Adresář3 na našem domově adresář:
Chcete-li přejmenovat Adresář1 do Example_Directory pomocí mv
příkaz, použijte:
mv Directory1 Example_Directory
Pokud je příkaz úspěšný, není k dispozici žádný výstup, takže musíme použít ls
příkaz k ověření změny názvu:
ls -l
Přejmenování adresářů pomocí příkazu rename
rename
příkaz v Linuxu je vyhrazený příkaz používaný ke změně názvů souborů a adresářů. Použití tohoto příkazu usnadňuje přejmenování více adresářů současně.
Přejmenování jednoho adresáře pomocí příkazu rename
rename
používá následující syntaxi:
rename [options] 's/[expression]/[replacement]/' [file name]
Příkaz přejmenuje soubor nahrazením prvního výskytu výrazu s náhradou . Například pokud chceme přejmenovat Adresář1 do Example_Directory :
rename 's/Directory1/Example_Directory/' *
V tomto příkladu vidíme, že rename
syntaxe příkazu se skládá z několika částí:
rename
:Vyvolárename
příkaz.s
:Zkratka pro substitute , označuje, že nahrazujeme výraz nahrazením.- /
Directory1
:Určuje výraz nebo část názvu starého adresáře, kterou chcete nahradit. /Example_Directory
/ :Definuje náhradu nebo nový název adresáře.*
:Vyhledá domovskou stránku adresář pro názvy odpovídající zadanému výrazu.
Ověření domovské stránky obsah adresáře s ls
ukazuje, že adresář má nyní nový název:
Přejmenování více adresářů pomocí příkazu rename
rename
poskytuje způsob, jak přejmenovat více adresářů současně bez použití bash skriptů. Například pokud chceme přejmenovat Adresář1 , Adresář2 a Adresář3 do Složky1 , Složka2 a Složka3 :
rename -v 's/Directory/Folder/' *
Ve výše uvedeném příkladu:
-v
:Vyvolá podrobný výstup se seznamem každého kroku procesu.'s/Directory/Folder/'
:Nahrazuje Adresář v názvech výsledků vyhledávání pomocí Složky .*
:Vyhledá domovskou stránku adresář pro názvy odpovídající zadanému výrazu.
rename
může také překládat názvy souborů pomocí y argument namísto s argument. V tomto případě překládá jeden řetězec znaků na jiný, znak za znakem.
Například:
rename 'y/abc/def/'
Výše uvedený příkaz překládá každé a znak na d , každé b do e a každé c do f .
V níže uvedeném příkladu jsme převedli prázdná místa v názvech adresářů na podtržítka (_ ).
rename -v 'y/ /_/' *
Přejmenování adresářů pomocí příkazu find
V případě, že si nejste jisti, kde se nachází adresář, který chcete přejmenovat, použijte příkaz find s mv
příkaz vám umožní jej vyhledat a přejmenovat, když je nalezen:
find . -depth -type d -name [current directory name] -execdir mv {} [new directory name] \;
Ve výše uvedeném příkladu -execdir
spustí mv
po find
příkaz vyhledá adresář.
Například příkaz níže vyhledá a přejmenuje Adresář1 do Example_Directory :
find . -depth -type d -name Directory1 -execdir mv {} Example_Directory \;
Přejmenování adresářů pomocí skriptů Bash
Použití bash skriptů je další způsob, jak přejmenovat více adresářů současně. Na rozdíl od rename
Bash skripty umožňují uložit šablonu pro budoucí použití.
Začněte vytvořením skriptu pomocí textového editoru, jako je Nano:
sudo nano rename_directories.sh
Následující příklad je bash skript, který vyhledává adresáře a k jejich názvu připojuje aktuální datum:
#!/bin/bash
#Searches for directories and renames them according to the specified pattern
for d in *
do
if [ -d "$d" ]
then
mv -- "$d" "{d}_$(date +%Y%m%d)"
fi
done
Ve výše uvedeném příkladu:
- První řádek dává skriptu pokyn, aby prošel všechny soubory a adresáře v aktuálním umístění.
- Řádky 2 a 3 vyhledávají adresáře.
- Řádky 4 a 5 připojují k názvu libovolného nalezeného adresáře aktuální datum.
Stiskněte Ctrl+X , zadejte Y a stiskněte Enter zavřete a uložíte skript.
Jako příklad použijeme skript výše ke změně názvů Adresáře1 , Adresář2 a Adresář3 , který se nachází v Příkladu adresář.
Začněte přechodem na Příklad adresář:
cd Example
Dále spusťte skript pomocí sh
příkaz:
sh rename_directory.sh
Pomocí ls
příkaz nám umožňuje ověřit změnu názvu:
ls -l