Általában egy fájl másolásához a
cp
parancs, a forrásfájlhoz és a célkönyvtárhoz való kapcsolódás:
cp ~/Documents/FileToBeCopied.txt ~/TextFiles/
Két másik könyvtárba másolásához sok ember csak két újabb parancsot futtatna, különböző célállomásokkal:
cp ~/Documents/FileToBeCopied.txt ~/Dropbox/
cp ~/Documents/FileToBeCopied.txt /media/lori/MYUSBDRIVE/
echo dir1 dir2 dir3 | xargs -n 1 cp file1
Itt a parancs működik. A
echo
parancs általában a képernyőre ír. Ebben az esetben azonban szeretnénk táplálni a
echo
parancs bemenetként a
xargs
parancs. Ehhez használjuk a csőszimbólumot (
|
), amely az egyik parancs kimenetét bemenetként továbbítja. A
xargs
parancs fogja futtatni a
cp
parancs háromszor, minden alkalommal, amikor hozzáfűzi a következő könyvtárútvonalat, amelyet a
echo
parancs a végén a
cp
parancs. Három érv adódik
xargs
de a
-n 1
lehetőség a
xargs
parancs azt mondja, hogy csak az egyik argumentumot illessze be egyszerre
cp
parancsot minden alkalommal, amikor fut.
Tehát ahhoz, hogy a korábbi példánkhoz illeszkedjünk, a három különálló
cp
A fenti parancsok egy ilyen parancsra oszthatók:
echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp ~/Documents/FileToBeCopied.txt
cp
parancsot, hogy egy fájlt egyetlen helyre másoljon, hozzáadhatja a
-i
lehetőséget, hogy megkérdezze, ki szeretné-e cserélni egy meglévő fájlt. Azonban a
-i
opció egy interaktív lehetőség (ez okozza a
cp
parancsot kérni a felhasználótól), és nem használhat interaktív opciót a
cp
parancsot használva a
xargs
.)
Egy másik dolog, amit fontolóra kell venni, hogy ha egy nagyon nagy fájlt másolsz, érdemes felvenni a nem clobber (
-n
) opciót
cp
parancsot a fenti egyetlen parancsban. Ez az opció automatikusan megakadályozza, hogy egy fájl felülíródjon egy rendeltetési helyre, ha az már létezik. Ha egy nagyon nagy fájlt másol egy hálózaton, lassú lehet, és elkerülheti a fájl másolásához és kicseréléséhez szükséges erőforrásokat. A következő parancs hozzáadja a
-n
opciót, és nem másolja a fájlt az argumentumokban felsorolt rendeltetési helyre, ha a fájl már létezik az adott célállomáson.
echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp -n ~/Documents/FileToBeCopied.txt