Koduleht » kuidas » Kuidas kopeerida faili mitmele kataloogile ühe käsuga Linuxis

    Kuidas kopeerida faili mitmele kataloogile ühe käsuga Linuxis

    Faili kopeerimine Linuxi käsureaga on lihtne. Kuid mis siis, kui soovite sama faili paljudes erinevates kohtades kopeerida? Ka see on lihtne ja me näitame teile, kuidas seda ühe käsuga teha.

    Tavaliselt peaksite ühe faili kopeerimiseks kasutama cp käsk, mis ühendab lähtefaili ja sihtkoha kataloogi:

    cp ~ / Documents / FileToBeCopied.txt ~ / Tekstifailid /

    Kahe teise kataloogi kopeerimiseks käivad paljud inimesed käsku veel kaks korda, erinevate sihtkohtadega:

    cp ~ / Dokumendid / FileToBeCopied.txt ~ / Dropbox /
    cp ~ / Dokumendid / FileToBeCopied.txt / media / lori / MYUSBDRIVE /

    Samasugust ülesannet saame teha ühe käsuga:

    echo dir1 dir2 dir3 | xargs -n 1 cp fail1

    See käsk toimib. The kaja käsk tavaliselt kirjutab ekraanile. Sellisel juhul tahame aga toita kaja käsk kui sisend xargs käsk. Selleks kasutame toru sümbolit ( | ), mis toidab väljundit ühelt käskult teisele. The xargs käsk käivitab cp käsk kolm korda, iga kord, kui lisate sellele kataloogi, mis on sealt pipeteeritud kaja käsk lõpuni cp käsk. Edastatakse kolm argumenti xargs , kuid -n 1 valik xargs käsk ütleb, et see lisab korraga ainult ühe nendest argumentidest cp käsk iga kord, kui see töötab.

    Niisiis, et jääda meie eeskuju varasemast, kolm eraldi cp ülaltoodud käske saab kombineerida üheks selliseks käsuks:

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

    Pange tähele, et kui kopeeritav fail on määratud mis tahes sihtkataloogis, asendatakse selle sihtkoha fail automaatselt. Teilt ei küsita, kas soovite faili asendada. (Tavaliselt, kui kasutate cp käsk kopeerida faili ühte asukohta, saate lisada -i võimalus küsida, kas soovite asendada olemasolev fail. Kuid -i valik on interaktiivne valik (see põhjustab cp käsk, et küsida kasutajalt sisendit) ja te ei saa kasutada interaktiivset valikut cp käsuga xargs .)

    Üks teine ​​asi, mida tuleb kaaluda, on see, et kui kopeerite väga suurt faili, siis võiksite lisada no-clobberi ( -n ) võimalus cp käsk ülaltoodud ühte käsku. See valik takistab automaatselt faili ülekirjutamist sihtkohta, kui see on juba olemas. Kui kopeerite võrgus väga suurt faili, võib see olla aeglane ja võiksite vältida failide kopeerimiseks ja asendamiseks vajalike ressursside kasutamist. Järgmine käsk lisab -n ei kopeeri faili mis tahes sihtkohta, mis on argumentide juures kajakujunduses märgitud, kui fail on selles sihtkohas juba olemas.

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

    Nende käskude kohta lisateabe saamiseks kirjutage Linuxi käsureal olevale käsule man echo, man xargs või man cp..