Kuinka poistan hakemiston ja sen kaiken sisällön?

Bashissa tiedän vain, että

rmdir directoryname 

poistaa hakemiston, mutta vain jos se on tyhjä. Onko mahdollista pakottaa poistamaan alihakemistot?

Vastaa

Seuraava komento tekee sen puolestasi Ole kuitenkin varovainen.

rm -rf directoryname 

Kommentit

  • " -f " on " –force ", joka ohittaa joitain terveystarkastuksia ja Turvallisempi komento aluksi olisi rm -r directoryname.
  • Jostain syystä saan rm: invalid option -- r -virheen, kun yritetään poistaa hakemistoa, jossa on rm -r < hakemistonimi >.
  • @Sunspawn Tarkista tämä aiheeseen liittyvä kysymys nähdäksesi, onko tämä ' asia.
  • @JimParis Mielestäni sana " turvallisempi " on suhteellinen. Oletetaan, että kirjoitat komentosarjaa suoritettavaksi etätietokoneella. Kyseisellä komentosarjalla on komento, jonka on tarkoitus poistaa hakemisto. Tässä olisi " turvallisempaa " käyttää rm -rf directoryname coz, jota et halua ' t halua komentojonosi keskeyttävän suorituksen, koska se ' odottaa käyttäjän syötettä. Sinun on tietysti oltava varma, että hakemiston poistaminen ei aiheuta haittaa.

Vastaa

jos rm -rf directoryname epäonnistuu, kokeile rm -R -f directoryname tai rm --recursive -f directoryname.

Jos sinulla ei ole onnea näissä asioissa, sinun kannattaa harkita rm: n uudelleenasentamista tai kuoren vaihtamista.

Kommentit

  • Nämä olivat vaihtoehtoja, jotka olivat käytettävissä rm: lläni. man -sivua, etsin sen kirjoittamalla man rm tarkastellaksesi rekursiivisen poiston vaihtoehtoja ja voima -vaihtoehtoja.
  • Onko rm man-sivuluettelo -r? Mitä se tekee? (Kokeile sitä vain testaustarkoituksiin luomassasi hakemistossa, jossa on vain nuketiedostot (ja ehkä alihakemistot).) Mitä käyttöjärjestelmää käytät?
  • P.S. Jos rm -r ei toimi ' ei toimi, se olisi käyttöjärjestelmäongelma, ei shell-ongelma. (Tarkkaan ottaen kyseessä olisi ongelma rm -versiossa, jota ' käytät, joten voit korjata sen asentamalla eri versiosta rm, tai etsimällä järjestelmästäsi onko sinulla jo erilainen versio versiosta rm jossakin muussa hakemistossa kuin = ”020ac1d181″>

.)

  • Ah, oikein. Unohdin mainita I ' m Ubuntu 14.04: ssä. Kun suoritin man rm päätelaitteessani, se antoi minulle tekstitiedoston less tekstin katseluohjelma. Selasin löytyneen sisennetyn merkinnän kokonaisuudesta, jossa -R ja –rekursiivinen -vaihtoehdot olivat yhdessä -r -vaihtoehdon kanssa, mikä merkitsi sitä kaikki nämä argumentit ovat identtiset.
  • edit: oletko kokeillut sudo rm -r directoryName ? Peruskomentojen kirjoittamattomat säännöt ovat, että -r antaa ohjelman ajaa rekursiivisesti jokaisessa tiedostojärjestelmässäsi tiedostossa (alkaen mistä tahansa valitset!) Ja että -f tekee asioita pakolla, vaikka se olisi ' s vaarallinen . ' cd ', ' mv ', ' ls ' pitää tätä periaatetta totta. ls -r / tulee olemaan duzie, ja cp -rf / /dev/null tuhoaa kaikki tiedostojärjestelmässäsi. < – Älä koskaan suorita komentoa!
  • Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *