Domača » kako » Kako kopirati datoteko v več imenikov z enim ukazom v Linuxu

    Kako kopirati datoteko v več imenikov z enim ukazom v Linuxu

    Kopiranje datoteke z ukazno vrstico Linux je preprosto. Kaj pa, če želite kopirati isto datoteko na več različnih lokacij? Tudi to je enostavno in pokazali vam bomo, kako to storite z enim ukazom.

    Običajno, če želite kopirati eno datoteko, bi jo uporabili cp ukaz, povezava na izvorno datoteko in ciljni imenik:

    cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /

    Da bi ga kopirali v še dva imenika, bi veliko ljudi samo še enkrat pognalo ukaz z različnimi cilji:

    cp ~ / Documents / FileToBeCopied.txt ~ / Dropbox /
    cp ~ / Documents / FileToBeCopied.txt / mediji / lori / MYUSBDRIVE /

    Vendar lahko isto nalogo opravimo z enim ukazom:

    echo dir1 dir2 dir3 | xargs -n 1 cp datoteka1

    Kako deluje ta ukaz. The odmev ukaz običajno zapiše na zaslon. Vendar pa v tem primeru želimo nahraniti rezultate odmev kot vhod v xargs ukaz. To naredimo tako, da uporabimo simbol cevi ( | ), ki podaja izhod iz enega ukaza kot vhod v drugega. The xargs ukaz bo zagnal cp ukažete trikrat, vsakokrat ko dodajajo naslednjo pot do imenika iz nje odmev ukaz na konec cp ukaz. Obstajajo trije argumenti xargs , toda -n 1 možnost na xargs ukaz pove, da doda le enega od teh argumentov hkrati cp ukaz ob vsakem zagonu.

    Torej, da se držimo našega primera iz prejšnjih, tri ločimo cp zgornji ukazi se lahko združijo v en ukaz:

    echo ~ / TextFiles / ~ / Dropbox / mediji / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Dokumenti / FileToBeCopied.txt

    Upoštevajte, da če kopirana datoteka obstaja v katerem od navedenih ciljnih imenikov, bo datoteka v tem cilju samodejno zamenjana. Ne boste vprašani, ali želite datoteko zamenjati. (Običajno, ko uporabljate cp Če želite kopirati datoteko na eno mesto, lahko dodate ukaz -jaz možnost, da vprašate, če želite zamenjati obstoječo datoteko. Vendar pa -jaz je interaktivna možnost (povzroča cp ukaz za vnos od uporabnika) in interaktivne možnosti z cp , ko ga uporabljate v povezavi z xargs .)

    Še ena stvar, ki jo je treba upoštevati, je, da če kopirate zelo veliko datoteko, boste morda želeli dodati ne-clobber -n ) možnost za cp v ukazu zgoraj. Ta možnost samodejno prepreči prepis datoteke v namembnem kraju, če že obstaja. Če kopirate veliko datoteko prek omrežja, je morda počasna in morda se boste izogibali uporabi virov, ki so potrebni za kopiranje in zamenjavo datoteke. Naslednji ukaz doda -n in ne bo kopiral datoteke na kateri koli cilj, naveden v argumentih, v izjavo echo, če datoteka že obstaja v tem cilju.

    echo ~ / TextFiles / ~ / Dropbox / mediji / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt

    V ukazno vrstico Linux vnesite man echo, man xargs ali man cp za več informacij o teh ukazih.