I bash är allt jag vet att
rmdir directoryname
tar bort katalogen men bara om den är tom. Finns det ett sätt att tvinga bort underkataloger?
Svar
Följande kommando gör det åt dig Var dock försiktig.
rm -rf directoryname
Kommentarer
Svara
om rm -rf directoryname
misslyckas med dig, försök att använda rm -R -f directoryname
eller rm --recursive -f directoryname
.
Om du inte har tur med dessa bör du överväga att installera om rm eller byta skal.
Kommentarer
- Det här var alternativen som finns tillgängliga på min rm man-sida, jag letade upp det genom att skriva
man rm
för att se mina alternativ för rekursiv radering och force -alternativen. - Har din
rm
mansidlista-r
? Vad gör den? (Testa det i en katalog som du skapar bara för teständamål, med bara dummyfiler (och kanske underkataloger).) Vilket operativsystem använder du? - P.S. Om
rm -r
inte ' t fungerar, skulle det vara ett OS-problem, inte ett shell-problem. (Strängt taget skulle det vara ett problem med versionen avrm
som du ' använder, så att du kan ta itu med det genom att installera en annan version avrm
, eller söker i ditt system för att se om du redan har en annan version avrm
i någon annan katalog än/bin
.) - Ah, höger. Jag glömde att nämna att jag ' m på Ubuntu 14.04 När jag sprang
man rm
i min terminal gav det mig en textfil medless
textvisare. Jag rullade och hittade en indragad post med en helhet som hade alternativen -R och –recursive samordnade med alternativet -r , vilket betyder att alla dessa argument är identiska. - edit: har du provat
sudo rm -r directoryName
? De oskrivna reglerna för de grundläggande kommandona är att-r
gör det möjligt för ett program att köra rekursivt på varje fil i ditt filsystem (börjar var du än väljer!) Och att -f kraftigt kommer att göra saker, även om det ' s farligt . ' cd ', ' mv ', ' ls ' mestadels håller denna princip sant.ls -r /
kommer att bli en duzie ochcp -rf / /dev/null
kommer att förstöra allt i ditt filsystem. < – Kör aldrig kommandot!
rm -r directoryname
.rm: invalid option -- r
-fel försöker ta bort en katalog med rm -r < katalognamn >.rm -rf directoryname
coz du skulle inte vilja ' t vill att ditt skript ska pausa körningen, eftersom det ' väntar på användarinmatning. Naturligtvis måste du vara säker på att radering av katalogen inte skadar.