Suponga que no sabe lo que está haciendo e intenta hacer una copia de seguridad de algún disco duro
dd if=/dev/disk1 of=/dev/disk2
Bueno, si los mezcla (cambia si está activado), sobrescribirá los datos nuevos con datos antiguos, sin preguntas.
Mezclas similares pueden suceder con utils de archivo. Y, francamente, con la mayoría de las utilidades de línea de comandos.
Si desea un ejemplo de una combinación de un solo carácter que afecte su sistema, observe este escenario: desea mover todos los archivos del directorio actual a otro:
mv -f ./* /path/to/other/dir
Aceptemos el hecho de que aprendiste a usar ./
para denotar el directorio actual. (Hago)
Bueno, si omite el punto, comenzará a mover todos sus archivos. Incluyendo sus archivos de sistema. Tienes suerte de no haberte metido esto. Pero si lees en algún lugar que con 'sudo -i' nunca más tendrás que escribir sudo, estarás conectado como root ahora. Y ahora tu sistema se está comiendo frente a tus ojos.
Pero, de nuevo, creo que cosas como sobrescribir mis archivos de código precioso con basura, porque arruiné un carácter o porque confundí el orden de los parámetros, es más problemático.
Digamos que quiero revisar el código del ensamblador que gcc está generando:
gcc -S program.c > program.s
Supongamos que ya tenía un programa y uso la función TAB para completar. Tengo prisa y me olvido de TAB dos veces:
gcc -S program.c > program.c
Ahora tengo el código de ensamblador en mi programa.c y ya no tengo código c.
Lo que es, al menos, un verdadero revés para algunos, pero para otros es un comienzo desde el principio.
Creo que estos son los que causarán un "daño" real. Realmente no me importa si mi sistema falla. Me importaría que mis datos se pierdan.
Desafortunadamente, estos son los errores que se deben cometer hasta que aprenda a usar el terminal con las precauciones adecuadas.