Při učení Linuxu je pro nováčky vždy normou psát několik příkazů, aby provedli jednoduchý úkol. To je pochopitelné zejména tehdy, když si člověk na používání terminálu teprve zvyká.
Když se však těšíte, že se stanete zkušeným uživatelem Linuxu, učení se tomu, co bych nazval „příkazy zkratek“, může výrazně snížit tendence k plýtvání časem.
V tomto článku vysvětlíme snadný způsob, pomocí jediného příkazu zkopírovat soubor do více adresářů v Linuxu.
V Linuxu se příkaz cp používá ke kopírování souborů z jednoho adresáře do druhého, nejjednodušší syntaxe pro jeho použití je následující:
# cp [options….] source(s) destination
Případně můžete také použít příkaz advanced-copy, který zobrazuje ukazatel průběhu při kopírování velkých souborů/složek v Linuxu.
Zvažte níže uvedené příkazy, normálně byste zadali dva různé příkazy pro zkopírování stejného souboru do dvou samostatných adresářů následovně:
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp
Za předpokladu, že chcete zkopírovat konkrétní soubor až do pěti nebo více adresářů, znamená to, že byste museli zadat pět nebo více příkazů cp ?
Chcete-li tento problém odstranit, můžete použít příkaz echo, pipe , xargs společně s cp příkaz ve tvaru níže:
# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
Ve výše uvedeném formuláři jsou cesty k adresářům (dir1,dir2,dir3…..dirN) echoovány a přenášeny jako vstup do xargs příkaz kde:
-n 1
– říká xargs, aby použil maximálně jeden argument na příkazový řádek a poslal jej do příkazu cp.cp
– používá se ke kopírování souboru.-v
– umožňuje podrobný režim pro zobrazení podrobností o operaci kopírování.
Zkuste si přečíst manuálové stránky cp
, echo
a xargs
příkazy k nalezení užitečných a pokročilých informací o použití:
$ man cp $ man echo $ man xargs
To je vše, můžete nám poslat dotazy týkající se tématu nebo jakoukoli zpětnou vazbu prostřednictvím formuláře pro komentáře níže. Můžete si také přečíst o příkazu progress, který pomáhá sledovat průběh (cp , mv , dd , tar atd.), které jsou v současnosti spuštěny v Linuxu.