Supponiamo che tu non sappia cosa stai facendo e tentando di fare un backup di qualche disco rigido
dd if=/dev/disk1 of=/dev/disk2
Bene, se mescoli quelli (cambia if e of), sovrascriveranno i nuovi dati con quelli vecchi, senza fare domande.
Simili disguidi possono verificarsi con utilità di archivio. E francamente con la maggior parte delle utility da riga di comando.
Se vuoi un esempio di confusione di un carattere che si arresta in modo anomalo nel tuo sistema, dai un'occhiata a questo scenario: Vuoi spostare tutti i file nella directory corrente in un altro:
mv -f ./* /path/to/other/dir
Accettiamo il fatto che hai imparato a usare ./
per indicare la directory corrente. (Sì) Bene, se si omette il punto, inizierà a spostare tutti i file. Compresi i file di sistema. Sei fortunato a non averlo fatto. Ma se leggi da qualche parte che con 'sudo -i' non dovrai mai più digitare sudo, accedi ora come root. E ora il tuo sistema si sta mangiando da solo davanti ai tuoi occhi.
Ma di nuovo penso che cose come sovrascrivere i miei preziosi file di codice con immondizia, perché ho incasinato un carattere o perché ho confuso l'ordine dei parametri, sono più problemi.
Diciamo che voglio controllare il codice assembler che gcc sta generando:
gcc -S program.c > program.s
Supponiamo di avere già un program.s e di utilizzare il completamento TAB. Ho fretta e dimentico di TAB due volte:
gcc -S program.c > program.c
Ora ho il codice assembler nel mio programma.c e nessun codice c più. Che è almeno una vera battuta d'arresto per alcuni, ma per altri è ricominciare da capo.
Penso che questi siano quelli che causeranno un vero "danno". Non mi interessa davvero se il mio sistema si blocca. Vorrei che i miei dati venissero persi.
Purtroppo questi sono gli errori che dovranno essere fatti fino a quando non imparerai a usare il terminale con le dovute precauzioni.