Paano makopya at ibukod ang mga panloob na file o direktoryo (katumbas ng rsync –exclude)

Kung hihilingin ko sa iyo na banggitin ang isang utos na kopyahin ang isang folder sa ibang lokasyon, halos lahat ay banggitin cp.

Ngayon, kung sasabihin ko sa iyo na bilang karagdagan, dapat mong kopyahin ang lahat ng nilalaman ng folder na iyon maliban sa 1 file, maraming maiiwan na nag-iisip, at babanggitin ng iba rsync, pagkatapos ay may parameter –Exclude maaari mong ibukod ang X file o folder at hindi ito kopyahin. Ngunit ... alam mo bang pinapayagan ka ng cp na gawin ito? ... O_O … Oo mga kaibigan, cp may sariling "ibukod" hehe.

Halimbawa, mayroon kaming folder isos naglalaman ng: ubuntu.iso, debian.iso y archlinux.iso :

At nangyari na nais naming kumopya sa ibang folder (distros-deb, na walang laman) ang file debian.iso y ubuntu.iso, iyon ay, lahat maliban sa archlinux.iso

Para sa mga ito maaari naming kopyahin ang isang file at pagkatapos ay isa pa, nang manu-mano, ngunit mas matalino na gamitin ang mga pagpipilian na inaalok sa atin ng system, tama ba? … 😀… halimbawa, upang magawa ito:

cp isos/!(archlinux.iso) distros-deb/

At sapat na ito upang makopya ang LAHAT ng nilalaman na nilalaman sa direktoryo ng isos sa distros-deb, lahat maliban sa archlinux.iso 😉

Ngunit ipagpalagay na wala lamang kaming 3 mga file na iyon, ngunit mayroon din kaming fedora.iso at chakra.iso ... at nais naming gawin ito, maibubukod din mula sa kopya na fedora.iso at chakra.iso, tingnan natin kung paano ito gawin:

cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/

Tulad ng nakikita mo, maraming mga file o folder ang maaaring maibukod, pinaghihiwalay lamang namin sila ng isang tubo (|) at bagay na nalutas 😀

Sa pamamagitan nito hindi ko ibig sabihin na ang cp ay mas mabuti para sa lahat kaysa sa rsync ... ngunit, pareho ang mahusay na mga tool, halimbawa ... alam mo ba ang parameter -u de cp? ... hehe, sure not 😉

Sa gayon, wala nang magdagdag ... ito ba ay isang nakawiwiling tip? 😀

Regards


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Magbiro dijo

    Hindi ko alam ang pamamaraang ito, palagi kang nakakatuto ng bago.
    Mahusay na tip, salamat.

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo

  2.   crotus dijo

    Ang tip ay napakahusay, hindi ko alam ito! Nananatili lamang ito upang ipaliwanag sa mga gumagamit ng Arch at Fedora kung bakit mo ibinukod ang kanilang iso's hehe

    1.    KZKG ^ Gaara dijo

      JAJAJAJAJAJA Hindi ko inilagay ang Arch at Fedora ISOs dahil ang halimbawa ay subukang kopyahin lamang ang mga Deb distros… HAHAHAHAHA.

  3.   hexborg dijo

    Narito kailangan nating gumawa ng ilang mga puntos. Ang isa ay gagana lamang ito kung ang extglob na pagpipilian ng bash ay pinagana. Kung hindi, ito ay pinapagana ng utos na ito:

    shopt -s extglob

    Maaari itong ilagay sa .bashrc upang palaging ito ay buhayin.

    Ang iba pang punto ay ang trick na ito ay hindi isang pagpipilian ng utos ng cp, ngunit gumagana ito sa antas ng bash. Na nangangahulugang maaari itong magamit sa anumang utos. Hindi lang sa cp. Maaari mong gawin ang pagsubok sa pamamagitan ng pagsulat:

    echo Files: isos /! (archlinux.iso | fedora.iso | chakra.iso)

    Kung hindi man ito ay isang napaka kapaki-pakinabang na bilis ng kamay. Kasama ang -u na pagpipilian sa cp, na nakikita ko rin na kapaki-pakinabang sa pana-panahon.

    1.    Daniel Rojas dijo

      Oo naman, ito ay isang regular na expression

      1.    hexborg dijo

        Ito ay talagang isang pinalawig na pattern. Ang isang regular na expression ay iba pa, ngunit mukhang ito. 🙂

    2.    KZKG ^ Gaara dijo

      Oo, talagang nakakainteres ang -u sa cp. Inaamin ko na ako ay isang malaking fan ng rsync ... ngunit hindi ko alam, mayroon akong isang kalakip sa mahirap na cp hahaha.

      Tungkol sa pag-activate ng shopt, hindi ko alam, ipinapalagay ko na awtomatiko itong gumana, salamat sa tip.

      At oo, pinaghihinalaan ko na mayroon itong higit na kinalaman sa Bash kaysa sa cp, ngunit hindi ko pa nasubukan ang paggawa ng isang rm o isang pusa o isang bagay tulad nito :)

      Salamat sa komento, ginagawa ko talaga 😀

      1.    hexborg dijo

        Ito ay isang kasiyahan na gawin ang aking kaunti. 🙂

        1.    KZKG ^ Gaara dijo

          Sa katunayan, palagi akong naging interesado sa pag-alam tungkol sa mga regular na expression ... nasasabik ka ba at gumawa ng isang post ng newbie tungkol dito? 😀

          1.    hexborg dijo

            LOL!! Meron ka na sakin. 🙂 Sa kung gaano ako kasaya nang walang puna ... 🙂

            Sa totoo lang, ang totoo ay tinatawagan niya ako. 🙂 Ngunit kailangan ko pa ring pag-isipan ito nang kaunti. Mukhang mahirap ipaliwanag.

            1.    KZKG ^ Gaara dijo

              hahahahaha wala wag kang magalala, patuloy kang nagcomment na natutunan mo pa rin ahahahaha, ang importanteng magbahagi 😀


  4.   tufadorin dijo

    Napakagandang tip Hindi ka matutulog nang hindi natututo ng bago.

    1.    KZKG ^ Gaara dijo

      Sakto, at ang pinakamaganda sa lahat ay marami akong natutunan sa mga puna na iniiwan mo sa mga post, gusto kong matuto ng mga kakaibang bagay araw-araw HAHAHA.

  5.   giskard dijo

    Magaling lansihin. Hindi ko siya kilala 🙂

    1.    KZKG ^ Gaara dijo

      Isang kasiyahan 😉

  6.   @Jlcmux dijo

    Ngunit kapag inilagay mo ang isos ibig sabihin mong maglagay ng debian.iso ubuntu.iso /! (Etc atbp)? hindi

  7.   Heber dijo

    Sa katunayan ito ay naging isang napaka-kagiliw-giliw na tip. Hindi lamang dahil sa mismong artikulo, ngunit dahil din sa idinagdag na halaga ng mga komento.
    Magagandang pamayanan ng <º Linux

  8.   MARTA NG BALIN dijo

    Ang iyong tulong ay walang silbi sa akin, dapat kang magbigay ng isang halimbawa, upang mas maintindihan ng mga mag-aaral ang iyong kahanga-hangang pamamaraan.
    Salamat sa paglalaan ng oras, palagi kong tatandaan ang pahinang ito sa aking puso

  9.   Philip016 dijo

    sasabihin mong laktawan mo ang mga direktoryo, subalit sa mga halimbawang nilaktawan mo lang ang mga file, alam mo ba kung paano laktawan ang isang partikular na direktoryo? Pagbati.