Failo kopijavimas su komandine eilute Linux yra lengva. Tačiau ką daryti, jei norite kopijuoti tą patį failą į kelias skirtingas vietas? Tai taip pat lengva ir parodysime, kaip tai padaryti naudodami vieną komandą.
Paprastai kopijuoti vieną failą naudosite komandącp
, susiejant ją su šaltinio failu ir paskirties vieta kataloge:
cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /
Norėdami nukopijuoti jį į dar du katalogus, daugelis žmonių tiesiog paleisti komandą dar du kartus skirtingomis paskirtimis:
cp ~ / Documents /FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /
Tačiau mes galime atlikti tą pačią užduotį vienu komanda:
echo dir1 dir2 dir3 | xargs -n 1 cp file1
Štai kaip veikia ši komanda. Komandąecho
paprastai rašoma ekrane. Tačiau šiuo atveju norime, kad įvestaecho
komanda kaipxargs
komandą išvesties. Norėdami tai padaryti, mes naudojame vamzdžio simbolį (|
), kuris perduoda iš vienos komandos kaip įvedimo į kitą. Komandaxargs
paleidžia komandącp
tris kartus, kiekvieną kartą pridedant kitą katalogo kelią, kuriam jis paleistas išecho
komandos į pabaigącp
komandą. Yraxargs
perduodami trys argumentai, tačiau komanda-x 1>
komandojexargs
nurodo, kad vienu metu pridėti tik vieną iš šių argumentųcp
komandą kiekvieną kartą, kai ji paleidžiama.
Taigi, norėdami laikytis mūsų pavyzdžio iš anksčiau, trys atskiroscp
komandos gali būti sujungtos į vieną komandą:
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt
Atkreipkite dėmesį, kad jei kopijuojamas failas egzistuoja bet kuriame nurodytame paskirties kataloge, toje paskirtyje esantis failas bus automatiškai pakeistas. Jums nereikės paklausti, ar norite pakeisti failą. (Paprastai, kai naudojate komandącp
, norėdami nukopijuoti failą į vieną vietą, galite pridėti parinktį-i
ir paklausti, ar norite pakeisti esamą failą. parinktis-i
yra interaktyvi parinktis (ji sukeliacp
komandą prašyti vartotojo įvesties), o jūs negalite naudoti interaktyviosios parinkties sucp
xargs
.)
Dar vienas dalykas, kurį reikia apsvarstyti, yra tai, kad jei kopijuosite labai didelį failą, galbūt norėsite pridėti "no-clobber" (- n
) į komandącp
vienoje komandoje. Ši parinktis automatiškai neleidžia įrašyti failo į paskirties vietą, jei jis ten jau yra. Jei kopijuojat labai didelį failą tinkle, jis gali būti lėtas ir galbūt norėsite nenaudoti išteklių, reikalingų failui kopijuoti ir pakeisti. Ši komanda papildo parinktį-n
ir kopijuoja failą į bet kurį echo pareiškimo argumentuose nurodytą tikslą, jei failas jau yra toje paskirtyje.
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt
Jei norite gauti daugiau informacijos apie bet kurią iš šių komandų, įveskite "man echo", "man xargs" arba "man cp" komandinę eilutę "Linux".
Kaip siųstis vaizdo įrašus iš savo "iPhone" ar "iPad" į "Apple TV" naudojant "AirPlay"
Kai norima gauti turinį iš telefono į savo televizorių, tikrai nėra būdų, kaip tai padaryti . Mūsų mėgstamiausia yra "Google" "Chromecast" - ji yra prieinama ir gerai veikia. Tačiau jei esate investavę į "Apple" ekosistemą, "iOS" įrenginyje galite lengvai perkelti "Netflix", "YouTube" ir kitus į "Apple TV".
Kaip iš naujo nustatyti "How-to Geek" trivia scores (ir jaustis mažiau niūrus)
Mano bendradarbis Jasonas yra šaukštas. Negalima manęs neteisingai: aš esu didelis jo darbo gerbėjas ir jis tikriausiai labiausiai malonus žmogus, su kuriuo galėjau net tikėti dirbti. Bet jo nieko klausimai nuolat mane priverčia jaustis kaip dvasia. Dar blogiau, svetainė stebi mano nesėkmę, nuolat primenanti man, kiek klausimų aš neteisingai.