28Jun
Kopírování souboru pomocí příkazového řádku systému Linux je snadné.Co když však chcete kopírovat stejný soubor na několik různých místech? To je také snadné a my vám ukážeme, jak to udělat s jedním příkazem.
Obvykle byste měli kopírovat jeden soubor, použijte příkaz cp, který propojí zdrojový soubor a cílový adresář:
cp ~ /Documents/ FileToBeCopied.txt ~ /TextFiles/Chcete-li jej zkopírovat do dvou dalších adresářů, mnoho lidí by spustilo příkaz dvěvícekrát s různými cíli:
cp ~ /Documents/ FileToBeCopied.txt ~ /Dropbox/ cp ~ /Documents/ FileToBeCopied.txt /media/lori/MYUSBDRIVE/Můžeme však udělat stejnou úlohu jedním příkazem:
echo dir1 dir2 dir3 |xargs -n 1 cp file1Zde je návod, jak tento příkaz funguje. Příkaz echo obvykle zapíná na obrazovku. V tomto případě však chceme dát výstup příkazu echo jako vstup do příkazu xargs. K tomu použijeme symbol potrubí( |), který napájí výstup z jednoho příkazu jako vstup do jiného. Příkaz xargs spustí příkaz cp třikrát, vždy když připojí další cestu k adresáři, která je k němu přivedena z příkazu echo na konec příkazu cp. Do xargů jsou předány tři argumenty, ale volba -n 1 příkazu xargs mu říká, že při každém spuštění příkazu cp připojuje pouze jeden z těchto argumentů.
Abychom se drželi našeho příkladu z dřívějších, mohou být tři samostatné příkazy cp kombinovány do jednoho příkazu:
echo ~ /TextFiles/ ~ / Dropbox /media/lori/ MYUSBDRIVE |xargs -n 1 cp ~ /Documents/ FileToBeCopied.txtVšimněte si, že pokud je kopírovaný soubor v libovolném zadaném adresáři určen, bude soubor v tomto místě automaticky nahrazen. Nebudete dotázáni, zda chcete soubor nahradit.(Obvykle, když použijete příkaz cp k zkopírování souboru do jediného umístění, můžete přidat možnost -i a zeptat se, zda chcete nahradit existující soubor. Nicméně možnost -i je interaktivní volba( způsobuje tocp příkaz požádat o vstup od uživatele) a nemůžete použít interaktivní možnost s příkazem cp při jeho použití ve spojení s xargs.)
Jedna věc, kterou je třeba zvážit, je, že pokud kopírujete velmi velký soubor,chcete přidat příkaz no-clobber( -n) příkazu cp v jediném výše uvedeném příkazu. Tato možnost automaticky zabraňuje přepsání souboru v cílovém umístění, pokud již existuje. Pokud kopírujete velmi rozsáhlý soubor v síti, může být pomalý a pravděpodobně nebudete potřebovat prostředky potřebné pro kopírování a nahrazování souboru. Následující příkaz přidá volbu -n a nebude kopírovat soubor na libovolný cíl uvedený v argumentu do příkazu echo, pokud soubor již existuje v daném cílovém umístění.
echo ~ /TextFiles/ ~ / Dropbox /media/lori/ MYUSBDRIVE |xargs -n 1 cp -n ~ /Documents/ FileToBeCopied.txtZadejte příkaz man echo, man xargs nebo man cp na příkazovém řádku v Linuxu, kde naleznete další informace o kterémkoli z těchto příkazů.