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..