Cosa fa#
Rimuove (scollega) file o directory dal filesystem. Il nome sta per remove.
Sintassi#
rm [opzioni] nome_file
Comandi essenziali#
| Comando | Flag | Cosa fa |
|---|---|---|
rm file | — | Rimuove il link tra nome e dati (unlink). |
rm -r cartella | -r (recursive) | Elimina una cartella e tutto il suo contenuto. |
rm -f file | -f (force) | Ignora file inesistenti e non chiede conferma. |
rm -i file | -i (interactive) | Chiede conferma prima di ogni eliminazione (sicurezza). |
shred -vzu file.txt | -v verbose, -z zero finale, -u unlink | Sovrascrive i blocchi dati e cancella — irrecuperabile |
rm rimuove il link tra nome e inode — i blocchi dati restano sul disco finché non vengono sovrascritti. Con strumenti forensi come foremost o photorec il contenuto è recuperabile. Su SSD la situazione è diversa: il wear leveling del controller può spostare i blocchi, rendendo shred meno efficace. Su SSD la soluzione corretta è la cifratura del disco dalla partenza — se il disco è cifrato, i dati recuperati sono inutili. rm-mechanism
1. Se il nome del file ha degli spazi: Se un file si chiama foto vacanza.jpg, non puoi scrivere rm foto vacanza.jpg perché il terminale penserebbe che vuoi eliminare due file diversi (foto e vacanza.jpg). Devi usare le virgolette:
rm "foto vacanza.jpg" "altra immagine.png"2. Eliminare file con la stessa estensione (Wildcard): Visto che prima cercavi immagini, se vuoi eliminare tutti i .jpg e .png in una cartella senza scriverli uno per uno:
rm *.jpg *.png3. Eliminare una cartella e tutto il suo contenuto: Per le cartelle devi aggiungere il parametro -rf (recursive e force):
rm -rf nome_cartella4. Chiedere conferma prima di eliminare: Se hai paura di sbagliare, aggiungi -i (interactive). Il terminale ti chiederà "y/n" per ogni file:
rm -i file1.jpg file2.pngCollegato a#
- file — categoria
- rm-mechanism — logica interna (perché non "cancella")


