Sterge fisiere

Sintaxa
rm [optiuni]… fisier…

Optiuni
-d, –directory face unlink directoarelor chiar daca nu sunt goale (doar root)

-f, –force ignora fisiere inexistente, nu face prompt

-i, –interactive face prompt (te intreaba) inainte de orice stergere

-r, -R, –recursive sterge continutul directoarelor recursiv

-v, –verbose explica ce face

–help afiseaza help si iese

–version afiseaza versiunea si iese

Pentru a sterge un fisier, trebuie sa aveti permisiuni de scriere asupra fisierului / directorului acolo unde este stocat.

rm -rf va sterge recursiv directoarele si continutul acestora (cea mai folosita optiune)

Ownerul fisierului nu are nevoie de permisiuni rw pentru a rula rm asupra fisierlui.

Fisiere care nu pot fi sterse

Comanda rm accepta optiunea `–‘ care va cauza oprirea procesarii optiunilor din acel punct inainte. Aceasta permite stergerea fisierelor a caror nume incep cu `-‘.
rm — -nume_fisier

Ca si alternativa se poate folsi o cale relativa sau absoluta:
*rm /home/user/-nume_fisier
rm ./-nume_fisier
*

Pentru a sterge fisiere al caror nume contin caractere ce nu pot fi afisate (`bad file name’) se foloseste wildcard-ul “?” pentru fiecare caracter in parte.

rm bad?file?name

Sisteme de fisiere mai vechi, cum ar fi ext2fs, au o performanta scazuta cand se sterg fisiere in masa. Versiuni mai noi precum ext3fs nu au aceasta problema de performanta.
Pentru a sterge un numar foarte mare de fisiere dintr-un director, poate fi mai rapid sa le stergem cate unu pe rand, intr-o bucla:

find folderul_mey -type f while read -r; do rm -v “$REPLY”; sleep 0.2; done

Exemple:
rm -rf *img001*
Sterge orice fisier (din directorul curent) care contine “img001″

*rm -rf * *
Sterege (recursiv) tot ce se afla in directorul curent