Kui paluksin teil mainida käsk kausta kopeerimiseks teise kohta, mainiksid seda peaaegu kõik cp.
Kui nüüd ütlen teile, et lisaks peate kopeerima kogu selle kausta sisu, välja arvatud 1 fail, jääksid paljud mõtlema ja teised mainiksid rsync, seejärel parameetriga –Välistada võite X-faili või kausta välja jätta ja seda mitte kopeerida. Aga ... kas teadsite, et ka cp võimaldab teil seda teha? ... O_o … Jah sõbrad, cp on oma "välista" hehe.
Näiteks on meil kaust isos mis sisaldab: ubuntu.iso, debian.iso y archlinux.iso :
Ja juhtub, et me tahame kopeerida teise kausta (distros-deb, mis on tühi) fail debian.iso y ubuntu.iso, see tähendab kõik, välja arvatud archlinux.iso
Selleks võiksime faili ja seejärel teise käsitsi kopeerida, kuid palju targem on kasutada võimalusi, mida süsteem meile pakub, eks? … 😀… näiteks selleks, et lihtsalt seda teha:
cp isos/!(archlinux.iso) distros-deb/
Ja sellest piisab, et kopeerida KÕIK, mis on isose kataloogis, distros-debi, kõik peale archlinux.iso 😉
Kuid oletame, et meil pole mitte ainult neid kolme faili, vaid meil on ka fedora.iso ja chakra.iso ... ja me tahame sama teha, see oleks ka välistatud koopiatest fedora.iso ja chakra.iso, vaatame kuidas seda teha:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Nagu näete, võib mitu faili või kausta välja jätta, eraldame need ainult toruga (|) ja asi lahenes 😀
Selle all ei taha ma öelda, et cp on kõigeks parem kui rsync ... aga mõlemad on näiteks suurepärased tööriistad ... kas teadsite parameetrit -u de cp? ... hehe, kindlasti mitte 😉
Noh, rohkem pole midagi lisada ... kas see on huvitav näpunäide? 😀
seoses
Ma ei teadnud seda meetodit, sa õpid alati midagi uut.
Suurepärane näpunäide, aitäh.
Aitäh
Vihje on väga hea, ma ei teadnud seda! Jääb vaid Archi ja Fedora kasutajatele selgitada, miks te nende iso hehe välja jätsite
JAJAJAJAJAJA Ma ei pannud Archi ega Fedora ISO-d, sest näites prooviti kopeerida ainult Deb distrosid ... HAHAHAJAJA.
Siin peame paar punkti välja tooma. Üks on see, et see töötab ainult siis, kui bashi extglob-valik on lubatud. Kui see pole nii, aktiveeritakse see selle käsuga:
shopt -s ekstglob
Selle saab alati aktiveerida .bashrc-faili.
Teine punkt on see, et see trikk ei ole käsu cp valik, kuid see töötab bashi tasandil. Mis tähendab, et seda saab kasutada mis tahes käskudega. Mitte ainult cp-ga. Testi saate teha kirjutades:
kajafailid: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Muidu on see väga kasulik trikk. Koos cu -u variandiga, mis on mulle samuti aeg-ajalt kasulik.
Muidugi, see on regulaarne väljend
See on tegelikult laiendatud muster. Regulaaravaldus on midagi muud, kuid see näeb välja. 🙂
Jah, CP-s olev -u on tõesti huvitav. Tunnistan, et olen suur rsynci fänn ... aga ma ei tea, mul on kiindumus kehvasse CP-sse hahaha.
Shopti aktiveerimise kohta ma ei teadnud, eeldasin, et see töötab automaatselt, aitäh vihje eest.
Ja jah, ma kahtlustasin, et see on rohkem seotud Bashiga kui cp, kuid ma polnud veel proovinud teha rm-d, kassi vms. :)
Tänan kommentaari eest, ma tõesti teen seda 😀
Mul on hea oma osa anda. 🙂
Tegelikult olen alati olnud huvitatud regexi tundmaõppimisest ... kas te olete põnevil ja teete selle kohta algaja postituse? 😀
LOL !! Teil on juba olemas. 🙂 Kui õnnelik olin ilma kommentaarideta ... 🙂
Noh, tõsi on see, et ta helistab mulle. 🙂 Kuid ma pean selle üle veel natuke mõtlema. Tundub, et seda on raske seletada.
hahahahaha ei midagi, ära muretse, sa kommenteerid muudkui, et sa ikka õpid ahahahaha, oluline on jagada 😀
Väga hea näpunäide Sa ei lähe kunagi magama, kui pole midagi uut õppinud.
Täpselt ja kõige parem on see, et ma õpin palju koos kommentaaridega, mille te postitustele jätate, mulle meeldib iga päev õppida kummalisi asju.
Hea trikk. Ma ei tundnud teda 🙂
Rõõm 😉
Aga kui paned isosid, siis mõtled panna debian.iso ubuntu.iso /! (Jne jne)? ei
Tõepoolest, see osutus väga huvitavaks näpunäiteks. Mitte ainult artikli enda, vaid ka kommentaaride lisaväärtuse jaoks.
Ilus <º Linuxi kogukond
Teie abist pole mulle kasu olnud, peaksite tooma näite, et õpilased saaksid teie suurepärasest tehnikast paremini aru.
Aitäh, et leidsite aega, mäletan seda lehte alati oma südames
te ütlete, et jätate kataloogid vahele, aga kas näites jätate ainult failid vahele, kas teate, kuidas konkreetset kataloogi vahele jätta? Tervitades.