Kako kopirati sa cp i izuzeti interne datoteke ili direktorijume (ekvivalentno rsync –exclude)

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


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   josh rekao je

    Nisam znao ovu metodu, uvijek se nauči nešto novo.
    Odličan savjet, hvala.

    1.    KZKG ^ Gaara rekao je

      Hvala

  2.   crotus rekao je

    Savjet je vrlo dobar, nisam ga znao! Ostaje samo objasniti Archu i Fedori korisnicima zašto ste izuzeli njihove iso hehe

    1.    KZKG ^ Gaara rekao je

      JAJAJAJAJAJA Nisam stavio Arch i Fedora ISO, jer je primjer pokušao kopirati samo Deb distros ... HAHAHAHAHA.

  3.   hexborg rekao je

    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.

    1.    Daniel Rojas rekao je

      Naravno, to je uobičajeni izraz

      1.    hexborg rekao je

        To je zapravo prošireni obrazac. Regularni izraz je nešto drugo, ali izgleda tako. 🙂

    2.    KZKG ^ Gaara rekao je

      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

      1.    hexborg rekao je

        Zadovoljstvo mi je učiniti svoje. 🙂

        1.    KZKG ^ Gaara rekao je

          Zapravo, uvijek me zanimalo o regularnim izrazima ... uzbuđujete li se i objavite li početnički članak o tome? 😀

          1.    hexborg rekao je

            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.

            1.    KZKG ^ Gaara rekao je

              hahahahaha ništa, ne brini, stalno komentiraš da još uvijek učiš ahahahaha, najvažnije je podijeliti 😀


  4.   tufadorin rekao je

    Vrlo dobar savjet Nikada nećete ići u krevet, a da ne naučite nešto novo.

    1.    KZKG ^ Gaara rekao je

      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.

  5.   giskard rekao je

    Dobar trik. Nisam ga poznavao 🙂

    1.    KZKG ^ Gaara rekao je

      Zadovoljstvo 😉

  6.   @Jlcmux rekao je

    Ali kada stavite isos, mislite staviti debian.iso ubuntu.iso /! (Itd itd.)? br

  7.   Heber rekao je

    Ispostavilo se da je to bio vrlo zanimljiv savjet. Ne samo zbog samog članka, već i zbog dodane vrijednosti komentara.
    Prekrasna zajednica <º Linuxa

  8.   MARTA OD ZUNARA rekao je

    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

  9.   felipe016 rekao je

    kažete da preskačete direktorije, ali u primjerima preskačete samo datoteke, da li znate kako preskočiti određeni direktorij? Pozdrav.