Vyhledávání na webu

Jak zkopírovat soubor do více adresářů v Linuxu


Při učení Linuxu je pro nováčky vždy normou psát několik příkazů, aby splnili 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 na to, že se stanete zkušeným uživatelem Linuxu, naučit se to, co bych nazval „příkazy zkratek“, může výrazně snížit tendence ke ztrátě času.

V tomto článku si 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 příkazem cp v níže uvedeném tvaru:

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 příkazu xargs, kde:

  1. -n 1 – říká xargs, aby použil maximálně jeden argument na příkazový řádek a poslal jej do příkazu cp.
  2. cp – používá se ke kopírování souboru.
  3. -v – umožňuje podrobný režim pro zobrazení podrobností o operaci kopírování.

Zkuste si přečíst manuálové stránky příkazů cp, echo a xargs, abyste našli užitečné a pokročilé informace 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.) příkazy, které v současnosti běží v Linuxu.