Come eliminare una directory non vuota nel terminale?

535

Come faccio a eliminare la seguente directory?

Ho digitato:

rmdir lampp

Questo errore si presenta:

rmdir: failed to remove 'lampp': Directory not empty

Esiste un comando per eliminare tutti i file nella directory ed eliminare la cartella della directory?

    
posta naveen 16.11.2012 - 05:37

5 risposte

748

Utilizza il comando seguente:

rm -rf lampp

Elimina tutti i file e le cartelle contenuti nella directory lampp .

Nel caso in cui l'utente non abbia il permesso di eliminare la cartella:

Aggiungi sudo all'inizio del comando:

sudo rm -rf folderName

Altrimenti, senza sudo ti verrà restituita l'autorizzazione negata. Ed è una buona pratica provare a non usare -f mentre si elimina una directory:

sudo rm -r folderName

Nota: si presume che tu sia già allo stesso livello della cartella che vuoi eliminare nel terminale, in caso contrario:

sudo rm -r /path/to/folderName

Per tua informazione: puoi usare le lettere -f , -r , -v :

  • -f = per ignorare i file inesistenti, non richiedere mai
  • -r = per rimuovere le directory e i loro contenuti in modo ricorsivo
  • -v = per spiegare cosa si sta facendo
risposta data Shantanu Banerjee 16.11.2012 - 06:19
89
rm -R lampp

Tuttavia, devi fare attenzione con un comando ricorsivo come questo, poiché è facile eliminare accidentalmente molto più del previsto.

È una buona idea ricontrollare sempre la directory in cui ti trovi e se hai digitato correttamente il comando, prima di premere Invio.

Versione più sicura

rm -R -i lampp

L'aggiunta di -i lo rende un po 'più sicuro, perché ti chiederà ogni cancellazione. Tuttavia, se stai cancellando molti file questo non sarà molto pratico. Tuttavia, puoi provare prima questo.

Nota sull'opzione -f :

Molte persone suggeriscono di usare -f (combinandolo in -Rf o -rf ), sostenendo che si sbarazza di fastidiosi prompt. Tuttavia, in casi normali non ne hai bisogno, e il suo utilizzo elimina alcuni problemi che probabilmente fai vuoi sapere. Quando lo usi, non sarai avvisato se i tuoi argomenti forniscono una directory o un file non esistente: rm non riuscirà a cancellare nulla. Come regola generale, prova prima senza -f : se ci sono problemi con i tuoi argomenti, allora noterai. Se inizi a ricevere troppe richieste sui file senza accesso in scrittura, puoi provarlo con -f . In alternativa, esegui il comando da un utente (o dal superutente che utilizza sudo) che dispone di autorizzazioni complete per i file e le directory che stai eliminando per evitare questi prompt in primo luogo.

    
risposta data thomasrutter 16.11.2012 - 05:56
21

Ci sono molti modi per cancellare una directory attraverso la modalità CLI. Dipende dal modo in cui ti senti a tuo agio.

rm -rvf /path/to/directory  
  • -r = rimuove le directory e i loro contenuti in modo ricorsivo
  • -v = spiega cosa si sta facendo
  • -f = ignora i file inesistenti, non richiede mai

Se sei nuovo in Linux, usa le pagine man dei comandi ( man rm ) per più opzioni e altro la precisione.

    
risposta data papseddy 16.11.2012 - 06:38
-2

Oggi ho avuto qualche problema, ma l'ho superato con sudo.

Avvertenza: sii assolutamente certo di voler cancellare l'intera cosa prima di usare il comando seguente.

$ sudo rm -R [Directory name]

L'ho fatto con successo oggi e ho rimosso molte directory non vuote che ho confermato che non volevo / necessario.

Sto usando 14.04 LTS

    
risposta data Thomas 29.09.2014 - 01:00
-3

Dal punto di vista personale, volevo eliminare una directory contenente un file / s protetto da scrittura (.git e sottodirectory) e alla fine ho realizzato che anch'io dovevo diventare un superutente per poter cancellare con successo questi file. Ecco cosa ho fatto:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/
    
risposta data Harvey Williams 17.09.2013 - 19:35

Leggi altre domande sui tag