Kā no direktorijas noņemt visus failus, izņemot vienu

dzēst Linux failus

Dažreiz jums vajag noņemt gandrīz visus failus no direktorija, bet vēlaties saglabāt vienu vai dažus no tiem. Ja viņu ir liels skaits, iet pa vienam ir garlaicīgs uzdevums. Tas nav labākais risinājums, ir veidi, kā padarīt darbu Linux daudz vieglāk un ka jūs varat uzreiz novērst visus nepieciešamos.

Piemēram, jūs varētu vēlēties noņemt tikai tos, kas sākas ar noteiktu nosaukumu, vai tos, kuriem ir noteikts paplašinājums utt. Viss, kas ir iespējamsPatiesībā citos gadījumos es jau parādīju līdzīgas apmācības LxA. Šeit jūs varat sekot apmācībai soli pa solim un vienkāršā veidā, lai varētu izdzēst visus nepieciešamos failus, izņemot tos, kurus vēlaties saglabāt.

Un labākais ir tas jums nebūs jāinstalē neviena programma, to var viegli izdarīt ar tādām komandām kā rm un find. Tas ir, programmas, kas jau ir iepriekš instalētas jebkurā Linux izplatītājā. Protams, metodes pamatā būs modeļu atrašana un šo atbilstību izmantošana, lai noņemtu tikai to, ko vēlaties.

Nu, lai tur likvidētu vairākas alternatīvas, Kas viņi ir…

Noņemiet failus no direktorijas, izmantojot rm

Nu, lai izmantotu rm komanda Lai novērstu to, kas jums šķiet, pirms dažiem veidiem, kā identificēt modeļus, jums jāzina:

  • * (modeļu saraksts) - atbilst nullei vai vairākiem norādīto modeļu gadījumiem
  • ? (modeļu saraksts) - atbilst nullei vai vienam norādīto modeļu gadījumam
  • + (modeļu saraksts) - atbilst vienam vai vairākiem norādīto modeļu gadījumiem
  • @ (modeļu saraksts) - atbilst vienam no norādītajiem modeļiem
  • ! (modeļu saraksts) - atbilst jebkuram, izņemot vienu no dotajiem modeļiem

līdz iespējot extglob Lai tos varētu izmantot, vispirms jāizpilda šāda komanda:

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

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

acs! Es to nenorādīju, bet tiek pieņemts, ka jums ir atļaujas veikt šīs darbības un ka, atrodoties šajā direktorijā, izpildot komandu rm. Esiet piesardzīgs, jo, palaižot to citā ceļā, jūs varat izdzēst nevēlamus failus. Tas ir, pirms šo komandu izpildīšanas pārliecinieties, vai esat ievadījis vajadzīgo direktoriju ar cd.

Tagad jūs varat izmantot rm, lai noņemtu visu, ko vēlaties. Piemēram, noņemt visus failus no direktorija, izņemot tos, kas atbilst nosaukumam «Lxa»:

rm -v !("lxa")

Varat arī norādīt divi vai vairāki vārdi, kurus nevēlaties dzēst. Piemēram, lai izvairītos no “lxa” un “desdelinux” noņemšanas:

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

Jūs varat izdzēst visus failus, atskaitot tos, kuriem ir pagarinājums .mp3. Piemēram:

 rm -v !(*.mp3) 

Beigās jūs varat atgriezties atspējot extglob:

 shopt -u extglob 

Noņemiet failus no direktorija ar meklēšanu

Vēl viena alternatīva rm ir izmantojiet meklēšanu, lai noņemtu visu, kas jums patīk. Varat izmantot cauruli un xargs ar rm vai izmantot opciju -delete, lai atrastu. Tas ir, vispārējā sintakse būtu:

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

Piemēram, iedomājieties, ka vēlaties izdzēsiet visus failus no direktorija, izņemot tos, kuriem ir paplašinājums .jpg, jūs varētu izmantot vienu no šīm divām komandām, jo ​​abām ir vienāds rezultāts:

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

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

Tā vietā, ja vēlaties pievienojiet kādu papildu modeli, arī tu varētu. Piemēram, pieņemsim, ka nevēlaties no direktorijas noņemt .pdf vai .odt:

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

Protams, jūs varētu darīt tāpat ar | un xargs tāpat kā iepriekšējā piemērā. Starp citu, mēs esam izmantojuši -noliedz, bet jūs varat to noņemt, lai padarītu to pozitīvu, tas ir, noņemt atbilstošos modeļus un tos neizslēgt.

Dzēsiet failus no direktorija, izmantojot mainīgo GLOBIGNORE

Visbeidzot, ir Vēl viena alternatīva lai atrastu un rm, un tas izmanto vides mainīgo, lai norādītu uz failiem, kurus vēlaties noņemt vai izslēgt. Piemēram, iedomājieties, ka vēlaties dzēst visus failus direktorijā ar nosaukumu Lejupielādes, saglabājot .pdf, .mp3 un .mp4 failus. Tādā gadījumā jūs varētu rīkoties šādi:

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


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.