Hogyan lehet egy könyvtár kivételével az összes fájlt törölni

törölje a Linux fájlokat

Néha szükséged van rá távolítson el szinte minden fájlt egy könyvtárból, de meg akarja tartani egyiküket vagy néhányukat. Ha nagy számban vannak, akkor az egyesével haladás unalmas feladat. Ez nem a legjobb megoldás, vannak módok, amelyek megkönnyítik a munkát a Linuxban, és hogy egyszerre megszüntetheti az összes szükségeset.

Például érdemes eltávolítani csak azokat, amelyek egy bizonyos névvel kezdődnek, vagy azokat, amelyeknek van egy kiterjesztése stb. Minden lehetségesValójában máskor már bemutattam hasonló oktatóanyagokat az LxA-ban. Itt lépésről lépésre és egyszerű módon követheti az oktatóanyagot, hogy törölje az összes kívánt fájlt, kivéve a menteni kívánt fájlokat.

És a legjobb az nem kell semmilyen programot telepíteni, könnyen elvégezhető olyan parancsokkal, mint az rm és a find. Vagyis olyan programok, amelyek már előre telepítve vannak bármely Linux disztribúcióra. Természetesen a módszer azon fog alapulni, hogy megtalálja a mintákat, és felhasználja ezeket az egyezéseket, hogy csak a kívántakat távolítsa el.

Nos, annak megszüntetése érdekében több alternatíva, Kik ők…

Távolítson el fájlokat egy könyvtárból az rm segítségével

Nos, a rm parancs Ahhoz, hogy kiküszöbölje a kedvét, ismernie kell a minták azonosításának néhány módját, mielőtt:

  • * (minták listája) - megfelel a megadott minták nulla vagy több előfordulásának
  • ? (minták listája) - megfelel a megadott minták nulla vagy egy előfordulásának
  • + (mintalista) - egyezik a megadott minták egy vagy több előfordulásával
  • @ (mintalista) - egyezik a megadott minták egyikével
  • ! (mintalista) - bármihez illeszkedik, kivéve az adott minták egyikét

hogy aktiválja az extglobot Használatukhoz először a következő parancsot kell végrehajtani:

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

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

szem! Nem adom meg, de feltételezzük, hogy rendelkezik engedéllyel ezekhez a műveletekhez, és abban a könyvtárban van, amikor végrehajtja az rm parancsot. Vigyázzon ezzel, mert ha egy másik útvonalon futtatja, akkor a nem kívánt fájlokat törölheti. Vagyis a parancsok végrehajtása előtt ellenőrizze, hogy a cd-vel beírta-e a kívánt könyvtárat.

Most az rm segítségével eltávolíthat mindent, amit csak akar. Például, távolítson el minden fájlt egy könyvtárból, kivéve azokat, amelyek megfelelnek a névnek «Lxa»:

rm -v !("lxa")

Megadhatja azt is két vagy több név, amelyet nem szeretne törölni. Például az „lxa” és a „desdelinux” eltávolításának elkerülése érdekében:

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

Az összes fájlt törölheti, mínusz a hosszabbítással rendelkezők .mp3. Például:

 rm -v !(*.mp3) 

A végén visszatérhet ide tiltsa le az extglobot:

 shopt -u extglob 

Fájlokat távolítson el egy könyvtárból a kereséssel

Az rm másik alternatívája az a find segítségével távolíthatja el, amit csak akar. Használhat egy pipe-t és az xargs-t rm-mel, vagy a -delete opcióval kereshet. Vagyis az általános szintaxis a következő lenne:

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

Képzelje el például, hogy szeretné töröljön minden fájlt egy könyvtárból, kivéve a kiterjesztéssel rendelkező fájlokat .jpg, használhatja a két parancs egyikét, mivel mindkettő ugyanazt az eredményt kapja:

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

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

Ehelyett, ha akarja adj hozzá néhány extra mintát, te is tehetnéd. Tegyük fel például, hogy nem akarja eltávolítani sem a .pdf, sem az .odt könyvtárat:

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

Természetesen ugyanezt tehetné a | és xargs, mint az előző példában. Egyébként használtuk -nem tagadni, de ezt eltávolíthatja, hogy pozitív legyen, vagyis eltávolítsa az egyező mintákat, és ne zárja ki őket.

Fájlokat törölhet a könyvtárból a GLOBIGNORE változó segítségével

Végül van Egy másik alternatíva megtalálni és rm, és egy környezeti változó segítségével rámutat az eltávolítani vagy kizárni kívánt fájlokra. Képzelje el például, hogy törölni szeretné az összes fájlt a Letöltések nevű könyvtárból, menti a .pdf, .mp3 és .mp4 fájlokat. Ebben az esetben a következőket teheti:

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


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.