rm -rf *.*
danneggerà il tuo filesystem mentre rm -rf /
non lo farà questo?
Commenti
- Unix e Linux Stack Exchange è stato utile per più di 6 anni e SuperUser per lo stesso: unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
Rispondi
Lì “non è niente di speciale, rm -rf *.*
è un comando con un carattere jolly per il nome del file, rimuoverà in modo ricorsivo tutti i file nella directory corrente che contengono un punto nei loro nomi.
rm -rf /
restituirebbe un errore sul tentativo di eseguire rm
nella directory principale. Questo è richiesto da POSIX :
Se […] un operando reso lves alla directory root, rm scriverà un messaggio di diagnostica per lo standard error e non farà altro con tali operandi.
A seconda nella shell e nelle sue impostazioni, *.*
potrebbe anche corrispondere a ..
per la directory principale, ma anche a /
, anche provare a rimuoverlo è un errore.
Nessuno di questi danneggerà il filesystem, rm
rimuoverà solo (proverà a) file utilizzando le solite chiamate del file system. Leffetto sul sistema in generale, o sui file dellutente, può ovviamente essere sostanziale se il primo comando viene eseguito in una directory contenente file importanti.
Commenti
- per versioni sufficientemente nuove di GNU
rm
(funzionalità originariamente rubata da Solaris IIRC). Meglio non piangere se il tuo dispositivo leggero incorporatorm
non è compatibile con lultimo POSIX.