In bash tutto quello che so è che
rmdir directoryname
rimuoverà la directory ma solo se è vuota. C'è un modo per forzare la rimozione delle sottodirectory?
In bash tutto quello che so è che
rmdir directoryname
rimuoverà la directory ma solo se è vuota. C'è un modo per forzare la rimozione delle sottodirectory?
Risposte:
Il seguente comando lo farà per te. Fai attenzione però.
rm -rf directoryname
rm: invalid option -- r
errore durante il tentativo di eliminare una directory con rm -r <directoryname>.
rm -rf directoryname
coz per cui non vorrai che lo script sospendesse l'esecuzione, perché è in attesa dell'input dell'utente. Naturalmente, devi essere sicuro che l'eliminazione della directory non danneggerebbe.
se rm -rf directoryname
fallisce, prova a usare rm -R -f directoryname
, o rm --recursive -f directoryname
.
Se non hai fortuna con questi, dovresti considerare di reinstallare rm o cambiare shell.
man rm
per visualizzare le mie opzioni sulla cancellazione ricorsiva e le opzioni di forzatura .
rm
pagina man elenca -r
? Che cosa fa? (Provalo in una directory che hai creato solo a scopo di test, con solo file fittizi (e forse sottodirectory) al suo interno.) Quale sistema operativo stai usando?
rm -r
non funziona, sarebbe un problema del sistema operativo, non un problema di shell. (A rigor di termini, sarebbe un problema con la versione di rm
quella che stai usando, quindi potresti risolverlo installando una versione diversa rm
o cercando nel tuo sistema per vedere se hai già una versione diversa rm
in una directory diversa da /bin
.)
man rm
nel mio terminale, mi ha dato un file di testo con il less
visualizzatore di testi. Scorrendo ho trovato una voce rientrata con un intero che aveva le opzioni -R e --recursive combinate con l' opzione -r , a significare che tutti questi argomenti sono identici.
sudo rm -r directoryName
? Le regole non scritte dei comandi di base sono che -r
permetteranno a un programma di funzionare in modo ricorsivo su ogni file del tuo filesystem (a partire da qualsiasi scelta tu scelga!) E che -f farà forzatamente le cose, anche se è pericoloso . 'cd', 'mv', 'ls' contengono principalmente questo principio. ls -r /
sarà un duzie e cp -rf / /dev/null
distruggerà tutto sul tuo filesystem. <- Non eseguire mai quel comando!
rm -r directoryname
.