Če bi vas prosil, da omenite ukaz za kopiranje mape na drugo mesto, bi to omenili skoraj vsi cp.
Zdaj, če vam povem, da morate poleg tega kopirati vso vsebino te mape, razen ene datoteke, bi mnogi ostali razmišljali, drugi pa bi omenili rsync, nato s parametrom –Izključi datoteko ali mapo X lahko izključite in je ne kopirate. Ampak ... ali ste vedeli, da vam to omogoča tudi cp? ... O_o ... ja prijatelji, cp ima svoj "izključi" hehe.
Na primer, imamo mapo isos ki vsebuje: ubuntu.iso, debian.iso y archlinux.iso :
In zgodi se, da želimo kopirati v drugo mapo (distros-deb, ki je prazen) datoteko debian.iso y ubuntu.iso, torej vsi razen archlinux.iso
Za to bi lahko kopirali datoteko in nato drugo, ročno, vendar je veliko bolj pametno uporabljati možnosti, ki nam jih ponuja sistem, kajne? … 😀… na primer, da to storite samo:
cp isos/!(archlinux.iso) distros-deb/
In to je dovolj, da VSE, kar je v imeniku isos, kopirate v distros-deb, vse razen archlinux.iso 😉
A predpostavimo, da nimamo le teh 3 datotek, ampak imamo tudi fedora.iso in chakra.iso ... in želimo to storiti enako, izključena bi bila tudi iz kopije fedora.iso in chakra.iso, poglejmo, kako to storiti:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Kot lahko vidite, je mogoče izključiti več datotek ali map, ločimo jih le s cevjo (|) in zadeva rešena 😀
S tem ne mislim, da je cp za vse boljši kot rsync ... ampak oba sta na primer izvrstna orodja ... ali ste poznali parameter -u de cp? ... hehe, zagotovo ne 😉
No, nič več za dodati ... je to zanimiv namig? 😀
pozdrav
Te metode nisem poznal, vedno se naučiš kaj novega.
Odličen namig, hvala.
Hvala
Nasvet je zelo dober, nisem ga vedel! Uporabnikom Archa in Fedore je treba le še razložiti, zakaj ste izključili njihove iso hehe
JAJAJAJAJAJA Nisem postavil ISO-jev Arch in Fedora, ker je primer poskušal kopirati samo distribucije Deb ... HAHAHAHAHA.
Tu moramo izpostaviti nekaj točk. Eno je, da to deluje le, če je omogočena možnost extglob basha. Če ni, se aktivira s tem ukazom:
shopt -s extglob
Lahko ga vstavite v .bashrc, da ga vedno aktivirate.
Druga stvar je, da ta trik ni možnost ukaza cp, ampak deluje na ravni bash. Kar pomeni, da se lahko uporablja s katerim koli ukazom. Ne samo s cp. Test lahko naredite tako, da napišete:
echo Files: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Sicer je zelo koristen trik. Skupaj z možnostjo -u za cp, ki se mi občasno zdi tudi koristna.
Seveda, to je običajen izraz
Pravzaprav gre za razširjen vzorec. Regulalen izraz je nekaj drugega, vendar je videti tako. 🙂
Ja, -u v cp je res zanimiv. Priznam, da sem velik oboževalec rsynca ... ampak ne vem, imam navezanost na slabega cp-ja hahaha.
O aktiviranju shopt nisem vedel, domneval sem, da je to delovalo samodejno, hvala za namig.
In ja, sumil sem, da ima to bolj opraviti z Bashom kot s cp, vendar še nisem poskusil narediti rm-ja ali mačke ali česa podobnega :)
Hvala za komentar, res 😀
V veselje mi je narediti svoje. 🙂
Pravzaprav me je vedno zanimalo spoznavanje regularnih izrazov ... se navdušite in objavite novinec o tem? 😀
LOL !! Me že imaš. 🙂 S tem, kako sem bil vesel brez komentarja ... 🙂
No, resnica je, da me kliče. 🙂 Toda še vedno moram malo razmisliti o tem. Zdi se težko razložljivo.
hahahahaha nič ne skrbi, kar naprej komentiraš, da se še vedno naučiš ahahahaha, pomembno je deliti 😀
Zelo dober nasvet Nikoli ne boste šli spat, ne da bi se naučili česa novega.
Točno in najboljše od vsega je, da se ob komentarjih, ki jih pustite na objavah, veliko naučim, rad se vsak dan učim nenavadnih stvari HAHAHA.
Dober trik. Nisem ga poznal 🙂
V veselje 😉
Ko pa postavite izos, mislite postaviti debian.iso ubuntu.iso /! (Itd itd.)? št
Izkazalo se je zelo zanimiv namig. Ne samo zaradi samega članka, ampak tudi zaradi dodane vrednosti komentarjev.
Čudovita skupnost <º Linuxa
Vaša pomoč mi ni koristila, navedite primer, da bodo učenci bolje razumeli vašo čudovito tehniko.
Hvala, ker ste si vzeli čas, te strani si bom vedno zapomnil v srcu
Pravite, da izpustite imenike, vendar v primerih izpustite samo datoteke, ali veste, kako izpustiti določen imenik? S spoštovanjem.