Il comando per cancellare file e cartelle in Linux è rm
(remove). In realtà rm
cancella esclusivamente file, per le directory si dovrebbe utilizzare il comando rmdir
(remove directory). Una forte limitazione di rmdir
è la seguente: il comando cancella solo le directory vuote! Con rm
, passando al comado gli argomenti giusti, si può allora superare la limitazione di rmdir
.
Procediamo con ordine e occupiamoci dei file. La sintassi usata da rm
è la seguente: rm nome_file
, dove nome_file
è il nome del file da cancellare. La rimozione del file riesce se e solo se l'utente che lancia il comando ha i permessi per farlo! L'argomento nome_file
passato ad rm
può essere un path sia assoluto che ralativo e, cosa più importante, può prevedere l'uso del carattere jolly *
. Il carattere jolly ci permette di individuare e cancellare in un colpo solo più tipologie di file. Ad esempio, con il comando: rm *.jpg
dico al terminale di Linux di cancellare tutti i file con estensione jpg
(immagini) presenti nella directory di lavoro.
A differenza dell'interfaccia grafica che, se usata per cancellare file, sposta i file cancellati nel cestino, il comando rm
elimina i file dal file system senza possibilità di recupero. rm
non ha un cestino! Un file cancellato con rm
può essere recuperato solo attraverso particolari software e sotto precise condizioni: i settori del disco precedentemente occupati dal file cancellato non devono essere sovrascritti da nuovi file. Prestate, allora, molta attenzione nell'uso di rm
, soprattutto se state usando il terminale con i permessi dell'utente root!
Una delle opzioni di rm
utili proprio ad evitare la cancellazione di file importanti è l'opzione -i
(interactive). Con rm -i nome_file
il terminale svolge il comando in maniera interattiva, ogni operazione di cancellazione è preceduta da una domanda di conferma.
Talvolta, quando il nome del file da cancellare contiene spazi vuoti, è utile racchiudere con le virgolette l'argomento nome_file
passato al comando rm
, ecco un esempio: rm "nome file"
. Senza questa precauzione il comando rm
interpreta gli argomenti passati (in questo caso il nome del file) in modo errato. rm
cercherà di cancellare i file nome
e file
!
E per le directory? Se rmdir
si rifiuta di cancellarle, se non vuote, come fare? La soluzione al problema è l'uso del comando rm
con gli argomenti -Rf
, dove R
(recursive) dice ad rm
di cancellare ricorsivamente tutte le directory contenute mentre f
(force) dice ad rm
di eseguire il comando senza far storie (senza questa opzione il comando vi dirà che le cartelle non sono vuote!). Pertanto, con: rm -Rf /home/user/Downloads/mp3/
cancellerò la cartella (e tutti i file contenuti) mp3
!
Vediamo se avete capito, cosa fa il comando: rm -Rf /*
?
Il comando mostrato sopra, se eseguito dall'utente root, cancella tutte le directory del file systeme! Ad rm
viene passato come argomento la directory radice e il carattere jolly! Fate molta attenzione a quello che scrivete!
Nessun commento:
Posta un commento