Onehdy jsme se naučili, jak cd a ls jedním příkazem . Dnes uvidíme další skvělý Bash tip - cp
nebo mv
a cd
v jednom příkazu. Význam - budeme kopírovat nebo přesouvat soubory/adresáře z jednoho umístění do druhého a cd
okamžitě do cílového adresáře. Samozřejmě to můžeme udělat s jednovložkou příkaz. Například je možné zkopírovat nebo přesunout soubory/adresáře do jiného adresáře a cd do cílového adresáře pomocí příkazu:
cp source destination && cd destination
Nebo,
mv source destination && cd destination
Nyní se k tomu však nechystáme. Používáme jednoduchou funkci bash zkombinovat příkaz cp nebo mv a příkaz cd a spustit jej jako jediný příkaz. Tento trik by měl fungovat na všech unixových systémech, které podporují BASH.
Jak cp nebo mv a cd v jednom příkazu
Otevřete svůj ~/.bashrc
soubor ve vašem oblíbeném editoru:
$ nano ~/.bashrc
Na konec přidejte následující řádky:
#cp and cd in one command cpcd (){ if [ -d "$2" ];then cp $1 $2 && cd $2 else cp $1 $2 fi } #mv and cd in one command mvcd (){ if [ -d "$2" ];then mv $1 $2 && cd $2 else mv $1 $2 fi }
Uložte a zavřete soubor. Spusťte následující příkaz, aby se změny projevily.
$ source ~/.bashrc
Nyní zkopírujte nebo přesuňte soubory/adresáře z jednoho umístění do druhého a automaticky se dostanete do cílového umístění.
Udělejme nějaké ukázkové adresáře a soubory.
$ mkdir dir1 dir2
$ touch file1 file2
Nyní zkopírujte soubor1 do dir1 pomocí příkazu:
$ cpcd file1 dir1
$ pwd /home/sk/dir1
Jak vidíte, výše uvedený příkaz zkopíruje file1
do dir1
a poté automaticky cd
do dir1
umístění.
Další přesun file2
do dir2
pomocí příkazu:
$ cd
$ mvcd file2 dir2
$ pwd /home/sk/dir2
Tento příkaz zkopíruje file2
do dir2
a automaticky cd
do dir2
umístění.
Ukázkový výstup:
Doufám, že to pomůže.
Další Bash tipy
- Přejmenovávejte soubory bez zadávání celého jména dvakrát v systému Linux
- Funkce Bash pro extrahování archivů souborů různých typů