Joskus tarvitset poistaa melkein kaikki tiedostot hakemistosta, mutta haluat säilyttää yhden tai jotkut niistä. Kun heitä on paljon, yksi kerrallaan meneminen on ikävä tehtävä. Se ei ole paras vaihtoehto, on olemassa tapoja tehdä työstä Linuxissa paljon helpompaa ja että voit poistaa kaikki tarvitsemasi kerralla.
Voit esimerkiksi poistaa vain ne, jotka alkavat tietyllä nimellä, tai ne, joilla on erityinen laajennus, ja niin edelleen. Kaikki mikä on mahdollistaItse asiassa muissa tilanteissa olen jo osoittanut vastaavia opetusohjelmia LxA: ssa. Täällä voit seurata opetusohjelmaa vaihe vaiheelta ja yksinkertaisella tavalla, jotta voit poistaa kaikki haluamasi tiedostot paitsi mitä haluat tallentaa.
Ja parasta on se sinun ei tarvitse asentaa mitään ohjelmaa, se voidaan tehdä helposti komennoilla, kuten rm ja find. Eli ohjelmat, jotka on jo esiasennettu mihin tahansa Linux-distroon. Ja tietysti menetelmä perustuu mallien löytämiseen ja vastaavuuksien poistamiseen vain haluamasi poistamiseksi.
No, poistamiseksi siellä useita vaihtoehtoja, Mitä ne ovat…
Poista tiedostot hakemistosta, jossa on rm
No, jotta voit käyttää rm-komento Sinun on tiedettävä ennen joitain tapoja tunnistaa kuviot, jotta voit poistaa tunnelman:
- * (luettelo malleista) - vastaa nollaa tai useampaa määritettyjen kuvioiden esiintymistä
- (luettelo malleista) - vastaa nollaa tai yhtä määritettyjen kuvioiden esiintymää
- + (malliluettelo) - vastaa yhtä tai useampaa määritettyjen kuvioiden esiintymää
- @ (malliluettelo) - vastaa yhtä määritetyistä malleista
- (malliluettelo) - sopii mihin tahansa paitsi yhteen annetuista kuvioista
että ota extglob käyttöön Jotta voit käyttää niitä, sinun on ensin suoritettava seuraava komento:
<br data-mce-bogus="1"> shopt -s extglob<br data-mce-bogus="1">
Nyt voit poistaa rm: n avulla mitä haluat. Esimerkiksi, Poista kaikki tiedostot hakemistosta paitsi ne, jotka vastaavat nimeä «Lxa»:
rm -v !("lxa")
Voit myös määrittää vähintään kaksi nimeä, joita et halua poistaa. Esimerkiksi, jotta vältetään "lxa" ja "desdelinux":
rm -v !("lxa"|"desdelinux")
Voit poistaa kaikki tiedostot, miinus laajennus .mp3. Esimerkiksi:
rm -v !(*.mp3)
Lopussa voit palata Poista extglob käytöstä:
shopt -u extglob
Poista tiedostot hakemistosta, jossa on Etsi
Toinen vaihtoehto rm: lle on käytä find-painiketta poistaaksesi mitä haluat. Voit käyttää putkea ja xargsia rm: llä tai löytää -delete-vaihtoehdon. Toisin sanoen yleinen syntakse olisi:
find /directory/ -type f -not -name 'PATRÓN' -delete find /directory/ -type f -not -name 'PATRÓN' -print0 | xargs -0 -I {} rm [opciones] {}
Kuvittele esimerkiksi haluat poista kaikki tiedostot hakemistosta paitsi tiedostot, joilla on laajennus .jpg, voit käyttää yhtä näistä kahdesta komennosta, koska molemmat saavat saman tuloksen:
find . -type f -not -name '*.jpg'-delete find . -type f -not -name '*.jpg' -print0 | xargs -0 -I {} rm -v {}
Sen sijaan, jos haluat lisää ylimääräinen kuvio, sinäkin voisit. Oletetaan esimerkiksi, että et halua poistaa .pdf- tai .odt-tiedostoja hakemistosta:
find . -type f -not \(-name '*pdf' -or -name '*odt' \) -delete
Tietenkin voit tehdä saman | ja xargs kuten edellisessä esimerkissä. Muuten, olemme käyttäneet - ei kieltää, mutta voit poistaa sen, jotta se olisi positiivinen, eli poistaa sopivat mallit eikä sulkea niitä pois.
Poista tiedostot hakemistosta GLOBIGNORE-muuttujan avulla
Lopuksi on toinen vaihtoehto löytää ja rm, ja se käyttää ympäristömuuttujaa osoittamaan tiedostoihin, jotka haluat poistaa tai sulkea pois. Kuvittele esimerkiksi, että haluat poistaa kaikki tiedostot hakemistosta nimeltä Lataukset, tallentamalla .pdf-, .mp3- ja .mp4-tiedostot. Siinä tapauksessa voit tehdä seuraavaa:
cd Descargas GLOBIGNORE=*.pdf:*.mp4:.*mp3 rm -v * unset GLOBIGNORE