Android

Kuinka poistaa (poistaa) hakemisto linuxista

Writing 2D Games in C using SDL by Thomas Lively

Writing 2D Games in C using SDL by Thomas Lively

Sisällysluettelo:

Anonim

Hakemistojen poistamiseen Linux-järjestelmistä on useita eri tapoja. Jos käytät työpöydän tiedostohallintaa, kuten Gnome's Files tai KDE's Dolphin, voit poistaa tiedostoja ja hakemistoja managerin graafisella käyttöliittymällä. Mutta jos työskentelet päättömällä palvelimella tai haluat poistaa useita hakemistoja kerralla, paras vaihtoehto on poistaa hakemistot (kansiot) komentoriviltä.

, selitämme kuinka poistaa hakemistoja Linuxista käyttämällä rmdir , rm ja find komentoja.

Ennen kuin aloitat

Kun poistat hakemiston työpöydän tiedostohallinnalla, hakemisto siirretään tosiasiallisesti roskakoriin ja voidaan helposti palauttaa.

Ole erityisen varovainen poistaessasi tiedostoja tai hakemistoja komentoriviltä, ​​koska kun hakemisto on poistettu komentojen avulla, sitä ei voida palauttaa kokonaan.

Useimmissa Linux-tiedostojärjestelmissä hakemiston poistaminen vaatii kirjoitusoikeuden hakemistoon ja sen sisältöön. Muutoin saat virheilmoituksen "Toiminto ei ole sallittu".

Hakemistonimet, joissa on välilyönti, on poistettava alaviivalla ( / ).

Hakemistojen poistaminen rmdir

rmdir on komentorivityökalu tyhjien hakemistojen poistamiseen. Tästä on hyötyä, kun haluat poistaa hakemiston vain, jos se on tyhjä, joutumatta tarkistamaan, onko hakemisto tyhjä.

Jos haluat poistaa hakemiston rmdir , kirjoita komento ja poista sen hakemiston nimi, jonka haluat poistaa. Voit esimerkiksi poistaa hakemiston nimeltä dir1 kirjoittamalla:

rmdir dir1

Jos hakemisto ei ole tyhjä, saat seuraavan virheen:

rmdir: failed to remove 'dir1': No such file or directory

Tässä tapauksessa sinun on käytettävä rm komentoa tai poistettava hakemiston sisältö manuaalisesti ennen kuin voit poistaa sen.

Hakemistojen poistaminen rm

rm on komentoriviohjelma tiedostojen ja hakemistojen poistamiseen. Toisin kuin rmdir , rm komento voi poistaa sekä tyhjiä että ei-tyhjiä hakemistoja.

Oletusarvon mukaan rm ei poista hakemistoja, kun niitä käytetään ilman vaihtoehtoa. Poista tyhjä hakemisto käyttämällä -d ( --dir ) -vaihtoehtoa ja poista tyhjä hakemisto ja koko sen sisältö käyttämällä -r (- --recursive tai -R ) -vaihtoehtoa.

Voit esimerkiksi poistaa hakemiston nimeltä dir1 ja sen kaiken sisällön, jonka kirjoitat:

rm -r dir1

Jos hakemisto tai hakemistossa oleva tiedosto on kirjoitussuojattu, sinua pyydetään vahvistamaan poisto. Poista hakemisto ilman kehotusta -f vaihtoehdolla:

rm -rf dir1

Jos haluat poistaa useita hakemistoja kerralla, käytä rm komentoa, jota seuraa välilyönnillä erotetut hakemistojen nimet. Seuraava komento poistaa kaikki luetellut hakemistot ja niiden sisältö:

rm -r dir1 dir2 dir3

-i asetus käskee rm : n pyytämään sinua vahvistamaan kunkin alihakemiston ja tiedoston poiston. Jos hakemistossa on paljon tiedostoja, se voi olla vähän ärsyttävää, joten voit harkita -I vaihtoehdon käyttöä, mikä kehottaa sinua vain kerran, ennen kuin jatkat poistamista.

rm -rI dir1

Poista hakemistotyyppi y ja paina Enter .

rm: remove 1 argument recursively? y

Voit myös käyttää säännöllisiä laajennuksia useiden hakemistojen yhdistämiseen ja poistamiseen. Esimerkiksi, jos haluat poistaa kaikki ensimmäisen tason hakemistot nykyisestä hakemistosta, jonka lopussa on _bak , käytä seuraavaa komentoa:

rm -r *_bak

Säännöllisten laajennusten käyttäminen hakemistojen poistamisessa voi olla vaarallista. Suositellaan ensin luetteloimaan hakemistot ls komennolla, jotta näet mitä hakemistot poistetaan ennen rm komennon suorittamista.

Hakemistojen poistaminen find

find on komentorivin apuohjelma, jonka avulla voit etsiä tiedostoja ja hakemistoja tietyn lausekkeen perusteella ja suorittaa toiminnon jokaiselle vastaavalle tiedostolle tai hakemistolle.

Yleisin tapaus on find komennon käyttäminen hakemistojen poistamiseen kuvion perusteella. Jos esimerkiksi haluat poistaa kaikki hakemistot, jotka päättyvät _cache nykyisestä työhakemistosta, jonka suoritat:

find. -type d -name '*_cache' -exec rm -r {} +

Analysoidaan yllä oleva komento:

  • /dir - etsi rekursiivisesti nykyisestä työhakemistosta ( . ). -type d - rajoittaa haun hakemistoihin. -name '*_cache' - etsi vain hakemistoista, jotka päättyvät _cache -exec - suorittaa ulkoisen komennon valinnaisilla argumenteilla, tässä tapauksessa rm -r . {} + - lisää löytyneet tiedostot rm komennon loppuun.

Kaikkien tyhjien hakemistojen poistaminen

Poista kaikki käyttämäsi hakemistopuun tyhjät hakemistot:

find /dir -type d -empty -delete

Tässä on selitys käytetyille vaihtoehdoille:

  • /dir - haku rekursiivisesti hakemistoon /dir . -type d - rajoittaa haun hakemistoihin. -empty - rajoittaa haun vain tyhjiin hakemistoihin. -delete - poistaa kaikki löydetyt tyhjät hakemistot alaosasta. -delete voi poistaa vain tyhjät hakemistot.

Käytä- -delete vaihtoehtoa erittäin varovaisesti. Find-komentorivi arvioidaan lausekkeena ja jos lisäät ensin -delete vaihtoehdon, komento poistaa kaiken määrittämiesi lähtöpisteiden alapuolella. Käytä aina -delete viimeisenä vaihtoehtona ja testaa komento ennen poistamista ilman -delete asetusta.

/ bin / rm: Argumenttiluettelo on liian pitkä

Tämä virheviesti tulee näkyviin, kun käytät rm komentoa poistaaksesi hakemiston, joka sisältää valtavan määrän tiedostoja. Näin tapahtuu, koska tiedostojen lukumäärä on suurempi kuin komentoriviargumentin järjestelmän rajoitus.

Tähän ongelmaan on useita erilaisia ​​ratkaisuja. Voit esimerkiksi tallentaa cd levyn hakemistoon ja poistaa manuaalisesti tai silmukan avulla alihakemistot yksitellen.

Helpoin ratkaisu on ensin poistaa kaikki hakemistossa olevat tiedostot find komennolla ja sitten poistaa hakemisto:

find /dir -type f -delete && rm -r /dir

johtopäätös

rm ja find rm voit poistaa eri kriteereihin perustuvat hakemistot nopeasti ja tehokkaasti.

Hakemistojen poistaminen on yksinkertainen ja helppo prosessi, mutta sinun on oltava varovainen, ettet poista tärkeitä tietoja.

rm rmdir löytää terminaali