Da vas zamolim da spomenete naredbu za kopiranje mape na drugo mjesto, spomenuli bi je gotovo svi cp.
Ako vam kažem da, pored toga, morate kopirati sav sadržaj te mape, osim jedne datoteke, mnogi bi razmišljali, a drugi bi spomenuli rsync, zatim s parametrom –Izuzmi Možete izuzeti X datoteku ili mapu i ne kopirati ih. Ali ... da li ste znali da vam i cp to omogućava? ... O_O … Da prijatelji, cp ima svoje "izuzmi" hehe.
Na primjer, imamo mapu isos sadrži: ubuntu.iso, debian.iso y archlinux.iso :
I dogodi se da želimo kopirati u drugu mapu (distros-deb, koji je prazan) datoteku debian.iso y ubuntu.iso, to jest, sve osim archlinux.iso
Za ovo bismo mogli kopirati datoteku, a zatim drugu, ručno, ali mnogo je pametnije koristiti opcije koje nam sistem nudi, zar ne? … 😀… na primjer, da to učinite samo:
cp isos/!(archlinux.iso) distros-deb/
I ovo je dovoljno za kopiranje SVEGA što se nalazi u direktoriju isos u distros-deb, sve osim archlinux.iso 😉
Ali pretpostavimo da ne samo da imamo te tri datoteke, već imamo i fedora.iso i chakra.iso ... i želimo to isto učiniti, također bi bili izuzeti iz kopije fedora.iso i chakra.iso, idemo pogledajte kako se to radi:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Kao što vidite, nekoliko datoteka ili mapa može se izuzeti, razdvajamo ih samo cjevovodom (|) i stvar riješena 😀
Pod tim ne mislim da je cp za sve bolji od rsync-a ... ali, na primjer, oba su izvrsni alati ... jeste li znali parametar -u de cp? ... hehe, sigurno ne 😉
Pa, ništa više za dodati ... je li ovo zanimljiv savjet? 😀
Saludos
Nisam znao ovu metodu, uvijek se nauči nešto novo.
Odličan savjet, hvala.
Hvala
Savjet je vrlo dobar, nisam ga znao! Ostaje samo objasniti Archu i Fedori korisnicima zašto ste izuzeli njihove iso hehe
JAJAJAJAJAJA Nisam stavio Arch i Fedora ISO, jer je primjer pokušao kopirati samo Deb distros ... HAHAHAHAHA.
Ovdje moramo istaknuti nekoliko bodova. Jedna je da ovo radi samo ako je omogućena opcija extglob basha. Ako nije, aktivira se ovom naredbom:
shopt -s extglob
Može se staviti u .bashrc da ga uvijek aktivirate.
Druga je stvar da ovaj trik nije opcija naredbe cp, ali djeluje na nivou basha. Što znači da se može koristiti sa bilo kojom naredbom. Ne samo sa cp. Test možete uraditi tako što ćete napisati:
echo Fails: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Inače je to vrlo koristan trik. Uz opciju -u za cp, koju takođe s vremena na vrijeme smatram korisnom.
Naravno, to je uobičajeni izraz
To je zapravo prošireni obrazac. Regularni izraz je nešto drugo, ali izgleda tako. 🙂
Da, -u u cp-u je zaista zanimljiv. Priznajem da sam veliki obožavatelj rsync-a ... ali ne znam, imam vezu sa jadnim cp-om hahaha.
O aktivaciji shopt-a nisam znao, pretpostavio sam da je ovo uspjelo automatski, hvala na savjetu.
I da, sumnjao sam da to ima više veze s Bashom nego s cp-om, ali još nisam pokušao napraviti rm ili mačku ili nešto slično :)
Hvala na komentaru, zaista I
Zadovoljstvo mi je učiniti svoje. 🙂
Zapravo, uvijek me zanimalo o regularnim izrazima ... uzbuđujete li se i objavite li početnički članak o tome? 😀
LOL!! Već me imaš. 🙂 Koliko sam bila sretna bez komentara… 🙂
Pa, istina je da me zove. 🙂 Ali moram još malo razmisliti o tome. Čini se da je teško objasniti.
hahahahaha ništa, ne brini, stalno komentiraš da još uvijek učiš ahahahaha, najvažnije je podijeliti 😀
Vrlo dobar savjet Nikada nećete ići u krevet, a da ne naučite nešto novo.
Upravo tako, a najbolje od svega je što naučim puno toga uz komentare koje ostavljate na postovima, volim svakodnevno učiti neobične stvari HAHAHA.
Dobar trik. Nisam ga poznavao 🙂
Zadovoljstvo 😉
Ali kada stavite isos, mislite staviti debian.iso ubuntu.iso /! (Itd itd.)? br
Ispostavilo se da je to bio vrlo zanimljiv savjet. Ne samo zbog samog članka, već i zbog dodane vrijednosti komentara.
Prekrasna zajednica <º Linuxa
Vaša pomoć mi nije bila od koristi, trebali biste dati primjer, kako bi studenti mogli bolje razumjeti vašu veličanstvenu tehniku.
Hvala vam što ste odvojili vrijeme, ovu stranicu ću uvijek pamtiti u svom srcu
kažete da preskačete direktorije, ali u primjerima preskačete samo datoteke, da li znate kako preskočiti određeni direktorij? Pozdrav.