Hvordan fjerner jeg en katalog og alt innholdet?

I bash er alt jeg vet at

rmdir directoryname 

vil fjerne katalogen, men bare hvis det er tomt. Er det en måte å tvinge bort underkataloger?

Svar

Følgende kommando vil gjøre det for deg Vær imidlertid forsiktig.

rm -rf directoryname 

Kommentarer

  • " -f " er " – force " som tilsidesetter noen sunnhetssjekker og spørring. En tryggere kommando til å begynne med vil være rm -r directoryname.
  • Av en eller annen grunn får jeg en rm: invalid option -- r feil når prøver å slette en katalog med rm -r < katalognavn >.
  • @Sunspawn Sjekk dette relaterte spørsmålet for å se om det er '.
  • @JimParis Jeg tror ordet " tryggere " er relativt. Anta at du skriver et skript for å kjøre på en ekstern datamaskin. Skriptet har en kommando som skal fjerne en katalog. Her ville det være " tryggere " å bruke rm -rf directoryname fordi du ikke ville hatt ' t vil at skriptet ditt skal stoppe kjøringen midlertidig, fordi det ' venter på brukerinngang. Du må selvfølgelig være sikker på at sletting av katalogen ikke vil skade.

Svar

hvis rm -rf directoryname mislykkes deg, prøv å bruke rm -R -f directoryname, eller rm --recursive -f directoryname.

Hvis du ikke har noe hell med disse, bør du vurdere å installere rm på nytt eller bytte skjell.

Kommentarer

  • Dette var alternativene som er tilgjengelige på min rm mannsside, jeg slo opp ved å skrive man rm for å se alternativene mine for rekursiv sletting og kraft -alternativene.
  • Gjør din rm mansideliste -r? Hva gjør den? (Prøv det i en katalog som du oppretter bare for testformål, med bare dummy-filer (og kanskje underkataloger) i.) Hvilket operativsystem bruker du?
  • P.S. Hvis rm -r ikke fungerer ' t, ville det være et OS-problem, ikke et shell-problem. (Strengt tatt vil det være et problem med versjonen av rm som du ' bruker, slik at du kan løse det ved å installere en annen versjon av rm, eller søker i systemet ditt for å se om du allerede har en annen versjon av rm i en annen katalog enn /bin.)
  • Ah, høyre. Jeg glemte å nevne jeg ' m på Ubuntu 14.04 Da jeg kjørte man rm i terminalen min, ga det meg en tekstfil med less tekstvisning. Jeg rullet fant en innrykket oppføring med en helhet som hadde alternativene -R og –recursive cozied med alternativet -r , noe som betyr at alle disse argumentene er identiske.
  • edit: har du prøvd sudo rm -r directoryName ? De uskrevne reglene til de grunnleggende kommandoene er at -r vil tillate et program å kjøre rekursivt på hver fil i filsystemet ditt (starter hvor du vil!) Og at -f vil med kraft gjøre ting, selv om det ' s farlig . ' cd ', ' mv ', ' ls ' for det meste holder dette prinsippet sant. ls -r / blir en duzie, og cp -rf / /dev/null vil ødelegge alt på filsystemet ditt. < – Kjør aldri den kommandoen!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *