Dacă v-aș cere să menționați o comandă pentru a copia un folder într-o altă locație, aproape toată lumea ar menționa cp.
Acum, dacă vă spun că, în plus, trebuie să copiați tot conținutul acelui folder, cu excepția unui fișier, mulți ar rămâne gândiți, iar alții ar menționa rsync, apoi cu parametrul -Exclude puteți exclude fișierul sau folderul X și nu îl copiați. Dar ... știați că și cp vă permite să faceți acest lucru? ... O_O ... Da prieteni, cp are propriul său „exclude” hehe.
De exemplu, avem dosarul isos conținând: ubuntu.iso, debian.iso y archlinux.iso :
Și se întâmplă să vrem să copiem în celălalt folder (distros-deb, care este gol) fișierul debian.iso y ubuntu.iso, adică toate cu excepția archlinux.iso
Pentru aceasta am putea copia un fișier și apoi altul, manual, dar este mult mai inteligent să folosim opțiunile pe care ni le oferă sistemul, nu? ... 😀 ... de exemplu, pentru a face acest lucru doar:
cp isos/!(archlinux.iso) distros-deb/
Și acest lucru este suficient pentru a copia TOTUL conținut în directorul isos în distros-deb, totul cu excepția archlinux.iso 😉
Dar să presupunem că nu numai că avem acele 3 fișiere, dar avem și fedora.iso și chakra.iso ... și vrem să facem la fel, ar fi exclus și din copiile fedora.iso și chakra.iso, să vedem cum să o facem:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
După cum puteți vedea, mai multe fișiere sau foldere pot fi excluse, le separăm doar printr-o conductă (|) și problema rezolvată 😀
Prin aceasta nu vreau să spun că cp este mai bun pentru orice decât rsync ... dar, ambele sunt instrumente excelente, de exemplu ... știați parametrul -u de cp? ... hehe, sigur nu 😉
Ei bine, nimic mai mult de adăugat ... este acesta un sfat interesant? 😀
În ceea ce priveşte
Nu știam această metodă, întotdeauna înveți ceva nou.
Sfat excelent, mulțumesc.
Mulțumesc
Sfatul este foarte bun, nu l-am știut! Rămâne doar să le explicați utilizatorilor Arch și Fedora de ce le-ați exclus izo hehe
JAJAJAJAJAJA Nu am pus ISO-urile Arch și Fedora pentru că exemplul a încercat să copieze numai Deb distros ... HAHAHAJAJA.
Aici trebuie să facem câteva puncte. Una este că acest lucru funcționează numai dacă opțiunea extglob a bash-ului este activată. Dacă nu este, se activează cu această comandă:
shopt -s extglob
Poate fi pus în .bashrc pentru a-l avea întotdeauna activat.
Celălalt punct este că acest truc nu este o opțiune a comenzii cp, dar funcționează la nivelul bash. Ceea ce înseamnă că poate fi folosit cu orice comandă. Nu numai cu cp. Puteți face testul scriind:
Echo Files: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Altfel este un truc foarte util. Împreună cu opțiunea -u la cp, pe care o găsesc utilă și din când în când.
Sigur, este o expresie regulată
Este de fapt un model extins. O expresie regulată este altceva, dar arată așa. 🙂
Da, -u în cp este foarte interesant. Recunosc că sunt un mare fan al rsync ... dar nu știu, am un atașament față de bietul cp hahaha.
Despre activarea magazinului, nu știam, am presupus că acest lucru a funcționat automat, mulțumesc pentru pont.
Și da, bănuiam că are mai mult de-a face cu Bash decât cp, dar nu încercasem încă să fac un rm sau o pisică sau ceva de genul asta :)
Mulțumesc pentru comentariu, chiar do
Este o plăcere să-mi fac păcatul. 🙂
De fapt, am fost mereu interesat să aflu despre expresii obișnuite ... te entuziasmezi și faci o postare newbie despre asta? 😀
LAUGH OUT LOUD!! Mă ai deja. 🙂 Cu cât de fericit am fost fără comentarii ... 🙂
Ei bine, adevărul este că mă sună. 🙂 Dar trebuie totuși să mă gândesc puțin la asta. Pare greu de explicat.
hahahahaha nimic nu vă faceți griji, continuați să comentați că învățați în continuare ahahahaha, important este să împărtășiți 😀
Sfat foarte bun Nu te vei culca niciodată fără să înveți ceva nou.
Exact și cel mai bun dintre toate este că învăț multe lucruri cu comentariile pe care le lași pe postări, îmi place să învăț lucruri ciudate în fiecare zi HAHAHA.
Bun truc. Nu l-am cunoscut 🙂
O plăcere 😉
Dar când pui isos vrei să pui debian.iso ubuntu.iso /! (Etc etc)? Nu
Într-adevăr, sa dovedit a fi un sfat foarte interesant. Nu numai datorită articolului în sine, ci și datorită valorii adăugate a comentariilor.
Frumoasă comunitate de <º Linux
Ajutorul tău nu mi-a fost de niciun folos, ar trebui să dai un exemplu, astfel încât elevii să poată înțelege mai bine tehnica ta magnifică.
Îți mulțumesc că ți-ai făcut timp, îmi voi aminti întotdeauna această pagină din inima mea
spuneți că omiteți directoare, cu toate acestea, în exemplele săriți doar fișiere, știți cum să omiteți un anumit director? Salutari.