Kaip ištrinti visus kataloge esančius failus, išskyrus vieną

ištrinti „Linux“ failus

Kartais jums reikia pašalinti beveik visus failus iš katalogo, bet norite išlaikyti vieną ar kelis iš jų. Kai jų yra daug, eiti po vieną yra varginanti užduotis. Tai nėra geriausias pasirinkimas, yra būdų, kaip palengvinti darbą sistemoje „Linux“ ir kad vienu metu galite pašalinti visus reikalingus.

Pvz., Galbūt norėsite pašalinti tik tuos, kurie prasideda nuo tam tikro vardo, arba tuos, kurie turi konkretų plėtinį ir t. T. Viskas, kas įmanomaTiesą sakant, kitomis progomis aš jau rodiau panašias pamokas LxA. Čia galite sekti mokymo programą žingsnis po žingsnio ir paprastu būdu, kad galėtumėte ištrinti visus norimus failus, išskyrus tai, ką norite išsaugoti.

O geriausia yra tai jums nereikės įdiegti jokios programos, tai galima lengvai atlikti tokiomis komandomis kaip rm ir find. Tai yra programos, kurios jau yra iš anksto įdiegtos bet kuriame „Linux“ platintuve. Be abejo, metodas bus pagrįstas šablonų paieška ir tų atitikmenų naudojimu, kad pašalintumėte tik tai, ko norite.

Na, norint ten pašalinti kelios alternatyvos, Kas jie tokie…

Pašalinkite failus iš katalogo naudodami rm

Na, norint naudoti rm komanda Norėdami pašalinti tai, ką jaučiatės, pirmiausia turite žinoti keletą būdų atpažinti modelius:

  • * (modelių sąrašas) - atitinka nulį ar daugiau nurodytų šablonų
  • ? (modelių sąrašas) - atitinka nulį arba vieną nurodytų šablonų atvejį
  • + (modelių sąrašas) - atitinka vieną ar daugiau nurodytų modelių
  • @ (modelių sąrašas) - atitinka vieną iš nurodytų modelių
  • ! (modelių sąrašas) - atitinka bet ką, išskyrus vieną iš pateiktų modelių

į įjungti extglob Kad galėtumėte jais naudotis, pirmiausia turite atlikti šią komandą:

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

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

akis! Aš jo nenurodau, tačiau manoma, kad turite leidimus atlikti šias operacijas ir kad esate tame kataloge, kai vykdote komandą rm. Būkite atsargūs, nes paleisdami jį kitu keliu galite ištrinti failus, kurių nenorite. Tai yra, prieš vykdydami šias komandas, įsitikinkite, kad su cd įvedėte norimą katalogą.

Dabar galite naudoti rm, kad pašalintumėte viską, ko norite. Pavyzdžiui, ištrinti visus failus iš katalogo, išskyrus tuos, kurie atitinka pavadinimą «Lxa»:

rm -v !("lxa")

Taip pat galite nurodyti du ar daugiau pavadinimų, kurių nenorite ištrinti. Pavyzdžiui, norėdami išvengti „lxa“ ir „desdelinux“ pašalinimo:

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

Galite ištrinti visus failus, atėmus tuos, kurie turi pratęsimą .mp3. Pavyzdžiui:

 rm -v !(*.mp3) 

Pabaigoje galite grįžti į išjungti extglob:

 shopt -u extglob 

Pašalinkite failus iš katalogo naudodami „Find“

Kita alternatyva rm yra naudokite radiklį, kad pašalintumėte viską, ką norite. Norėdami rasti, galite naudoti „pipe“ ir „xargs“ su rm arba naudoti parinktį -delete. Tai yra, bendra sintaksė būtų:

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

Pavyzdžiui, įsivaizduokite, kad norite ištrinkite visus katalogo failus, išskyrus tuos, kurių plėtinys yra .jpg, galite naudoti vieną iš šių dviejų komandų, nes jos abi gauna tą patį rezultatą:

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

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

Vietoj to, jei norite pridėkite papildomą modelįtaip pat galėtum. Pvz., Tarkime, kad nenorite iš katalogo pašalinti nei .pdf, nei .odt:

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

Žinoma, tą patį galėtum padaryti ir su ir xargs kaip ir ankstesniame pavyzdyje. Beje, mes naudojome - neneigti, bet jūs galite tai pašalinti, kad būtų teigiama, ty pašalinti derančius modelius ir jų neišskirti.

Ištrinkite failus iš katalogo naudodami kintamąjį GLOBIGNORE

Galiausiai yra Kita alternatyva rasti ir rm, ir jis naudoja aplinkos kintamąjį, kad nurodytų failus, kuriuos norite pašalinti arba pašalinti. Pvz., Įsivaizduokite, kad norite ištrinti visus failus kataloge „Atsisiuntimai“, išsaugodami .pdf, .mp3 ir .mp4 failus. Tokiu atveju galėtumėte atlikti šiuos veiksmus:

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


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.