Si të hiqni të gjitha skedarët përveç një nga një direktori

fshini skedarët Linux

Ndonjëherë keni nevojë hiqni pothuajse të gjitha skedarët nga një direktori, por ju doni të mbani një ose disa prej tyre. Kur ka një numër të madh të tyre, të shkosh një nga një është një detyrë e lodhshme. Nuk është opsioni më i mirë, ka mënyra për ta bërë punën në Linux shumë më të lehtë dhe që ju të mund të eliminoni të gjitha ato që ju duhen menjëherë.

Për shembull, ju mund të dëshironi të hiqni vetëm ato që fillojnë me një emër të caktuar, ose ato që kanë një shtrirje specifike, etj. E gjithë kjo është e mundurNë fakt, në raste të tjera unë kam treguar tashmë udhëzime të ngjashme në LxA. Këtu mund të ndiqni udhëzuesin hap pas hapi dhe në një mënyrë të thjeshtë për të qenë në gjendje të fshini të gjitha ato skedarë që dëshironi, përveç atyre që dëshironi të ruani.

Dhe gjëja më e mirë është se nuk do të keni nevojë të instaloni ndonjë program, mund të bëhet lehtësisht me komanda si rm dhe find. Kjo është, programet që janë instaluar tashmë paraprakisht në çdo distro Linux. Dhe sigurisht, metoda do të bazohet në gjetjen e modeleve dhe përdorimin e atyre ndeshjeve për të hequr vetëm atë që dëshironi.

Epo, në mënyrë që të eliminohen atje disa alternativa, Cilat janë ato

Hiqni skedarët nga një direktori me rm

Epo, në mënyrë që të përdorni komanda rm Për të eleminuar atë që ndiheni, duhet të dini para disa mënyrave për të identifikuar modelet:

  • * (lista e modeleve) - përputhet me zero ose më shumë dukuri të modeleve të specifikuara
  • ? (lista e modeleve) - përputhet me zero ose një dukuri të modeleve të specifikuara
  • + (lista e modeleve) - përputhet me një ose më shumë dukuri të modeleve të specifikuara
  • @ (lista e modeleve) - përputhet me një nga modelet e specifikuara
  • ! (lista e modeleve) - përputhet me ndonjë gjë përveç një prej modeleve të dhëna

aktivizoni extglob Për t'i përdorur ato, së pari duhet të ekzekutoni komandën e mëposhtme:

<br data-mce-bogus="1">

shopt -s extglob<br data-mce-bogus="1">

sy! Unë nuk e specifikoj atë, por supozohet që ju keni leje për të bërë këto operacione dhe se jeni brenda këtij direktoriumi kur ekzekutoni komandën rm. Bëni kujdes me këtë, sepse nëse e ekzekutoni në një rrugë tjetër, mund të përfundoni duke fshirë skedarë që nuk i dëshironi. Kjo është, para se të ekzekutoni këto komanda, sigurohuni që keni futur drejtorinë që dëshironi me cd.

Tani mund të përdorni rm për të hequr gjithçka që dëshironi. Për shembull, fshini të gjithë skedarët nga një direktori përveç atyre që përputhen me emrin «Lxa»:

rm -v !("lxa")

Ju gjithashtu mund të specifikoni dy ose më shumë emra që nuk doni të fshini. Për shembull, për të shmangur heqjen e "lxa" dhe "desdelinux":

 rm -v !("lxa"|"desdelinux") 

Ju mund të fshini të gjitha skedarët, minus ato me zgjatim .mp3. Për shembull:

 rm -v !(*.mp3) 

Në fund, mund të ktheheni te çaktivizo extglob:

 shopt -u extglob 

Hiqni skedarët nga një direktori me find

Një tjetër alternativë ndaj rm është përdorni gjetjen për të hequr atë që ju pëlqen. Ju mund të përdorni një tub dhe xargs me rm, ose përdorni opsionin -delete për të gjetur. Kjo është, sintaksa gjenerike do të ishte:

find /directory/ -type f -not -name 'PATRÓN' -delete
find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}

Për shembull, imagjinoni se dëshironi fshini të gjithë skedarët në një direktori përveç atyre me shtrirje .jpg, mund të përdorni një nga këto dy komanda, pasi që të dy marrin të njëjtin rezultat:

find . -type f -not -name '*.jpg'-delete

find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}

Në vend të kësaj, nëse dëshironit shtoni një model shtesë, edhe ju mundeni. Për shembull, imagjinoni se nuk doni të hiqni .pdf ose .odt nga një direktori:

find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete

Sigurisht, ju mund të bëni të njëjtën gjë me | dhe xargs si në shembullin e mëparshëm. Nga rruga, ne kemi përdorur - jo për të mohuar, por ju mund ta hiqni atë për ta bërë atë pozitiv, domethënë për të hequr modelet e përputhjes dhe për të mos i përjashtuar ato.

Fshini skedarët nga një direktori duke përdorur ndryshoren GLOBIGNORE

Më në fund, nuk është Një tjetër alternativë për të gjetur dhe rm, dhe po përdor një ndryshore të mjedisit për të treguar skedarët që dëshiron të heqësh ose përjashtosh. Për shembull, imagjinoni se dëshironi të fshini të gjithë skedarët në një direktori të quajtur Shkarkime, duke ruajtur skedarët .pdf, .mp3 dhe .mp4. Në atë rast, ju mund të bëni sa më poshtë:

cd Descargas
GLOBIGNORE=*.pdf:*.mp4:.*mp3
rm -v *
unset GLOBIGNORE


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.