Gente que no entiende el Terminal es a menudo Mieda de utilizarlo por temor a que puedan estropear su comando y crash su computadora. Los que conocen el Terminal mejor saben que ese no es el caso - generalmente Terminal sólo producirá un error. Pero ¿existen realmente los comandos que se desplome su computadora?
ADVERTENCIA: usted podría perder datos si estos tipo o copiar pegar, especialmente
Respuestas
¿Demasiados anuncios?Una forma de crash una computadora es ejecutar una llamada bomba de bifurcación.
Se pueden ejecutar en un sistema unix por:
:(){ :|: & };:
Es un comando que procesos de spawn recursivamente hasta que el sistema operativo está tan ocupado que no responde a ninguna acción más.
No estoy seguro de lo que quieres decir acerca de 'crash ing de la computadora - si a usted le re-frase para decir 'hacer que el equipo inutilizable', entonces sí. Sin duda todo lo que se necesita es una sola y perdida de comandos sólo un momento donde no estás pensando con claridad acerca de lo que estás haciendo, de manera similar a cuando usted habla sin pensar, y el daño puede ser inmensa y casi inmediato. El ejemplo clásico:
$ sudo rm -rf /
Si dejas que el comando se ejecute aunque sea solo un segundo, que se puede limpiar lo suficiente de su sistema para hacer que no arranque, y posiblemente causar irreversible de pérdida de datos. Que no lo haga.
Supongamos que usted no sabe de lo que estás haciendo y tratando de hacer una copia de seguridad de disco duro
dd if=/dev/disk1 of=/dev/disk2
Así que si usted mezcla los (cambiar si y de), que se sobreponen a los datos nuevos con los viejos datos, sin hacer preguntas.
Mezcla Similar de ups puede suceder con los archivos utils. Y, francamente, con la mayoría de las utilidades de línea de comandos.
Si desea un ejemplo de uno de los personajes de la mezcla hasta que se cuelga el sistema echar un vistazo a este escenario: desea mover todos los archivos en el directorio actual a otro:
mv -f ./* /path/to/other/dir
Vamos a aceptar el hecho de que aprendiste a usar ./
para denotar el directorio actual. (Yo)
Bueno, si se omite el punto, va a empezar a mover todos tus archivos. Incluyendo su archivos de sistema. Estás de suerte que no sudo esto. Pero si usted leído en alguna parte que, con "sudo-i" usted nunca más tendrá que escribir sudo ha iniciado la sesión como root ahora. Y ahora el sistema está comiendo a sí mismo en frente de tus ojos.
Pero por otra parte creo que cosas como la sobreescritura de mi preciosa archivos de código con la basura, porque arruiné un personaje o porque he invertido el orden de los parámetros, es más problema.
Digamos que quiero ver el código ensamblador que gcc es la generación de:
gcc -S program.c > program.s
Supongamos que yo ya tenía un programa.s y yo use la tecla TAB. Estoy en un apuro y se olvidan de TAB dos veces:
gcc -S program.c > program.c
Ahora tengo el código ensamblador en mi programa.c y no c código más. Que es, al menos, un verdadero revés para algunos, pero para otros es inicio-sobre-desde-cero-tiempo.
Creo que estas son las que van a causar un "daño". Realmente no me importa si el sistema se bloquea. Yo tendría cuidado acerca de mi pérdida de datos.
Lamentablemente, estos son los errores que se hará hasta que aprenda a usar el terminal con las precauciones adecuadas.
Causando un pánico en el núcleo es más parecido a un colapso de las otras respuestas que he visto hasta ahora:
sudo dtrace -w -n "BEGIN{ panic();}"
(código tomado de aquí y también se encuentra en la propia Apple la documentación)
También puede intentar:
sudo killall kernel_task
No he verificado que el segundo no funciona realmente (y no es mi intención como de hecho tengo algo de trabajo abierto en la actualidad).
Moderno macOS hace que sea realmente difícil de bloquear la máquina como un usuario sin privilegios (es decir, sin el uso de sudo
), debido a que los sistemas UNIX tienen el propósito de manejar miles de usuarios sin que ninguna de ellas a romper todo el sistema. Así que, afortunadamente, por lo general tendrá que se le pregunte antes de hacer algo que destruye su máquina.
Por desgracia, de que la protección sólo se aplica al sistema en sí. Como xkcd ilustra, hay muchas cosas que usted la atención acerca de que no está protegido por el Sistema de Protección de Integridad, privilegios de root o de solicitudes de contraseña:
Por lo tanto, hay un montón de cosas que usted puede escribir en la que se acaba de arruinar su cuenta de usuario y todos sus archivos si usted no es cuidadoso. Un par de ejemplos:
-
rm -rf ${TEMPDIR}/*
. Esto parece totalmente razonable, hasta que te das cuenta que la variable de entorno es de espeltaTMPDIR
.TEMPDIR
es generalmente definida, lo que hace que esterm -rf /
. Incluso sinsudo
, este estará feliz de quitar todo aquello que tiene permisos de eliminación, que por lo general incluyen la totalidad de su carpeta de inicio. Si dejas que esta se ejecute durante el tiempo suficiente, voy a nuke cualquier unidad conectada a su equipo, demasiado, ya que suelen tener permisos de escritura para aquellos. -
find ~ -name "TEMP*" -o -print | xargs rm
.find
normalmente localizar los archivos que coincidan con ciertos criterios y los imprime. Sin el-o
este hace lo que se puede esperar y elimina todos los archivos empezandoTEMP*
(siempre y cuando no tenga espacios en la ruta). Pero, el-o
medios "o" (no "salida" como para muchos otros comandos!), causando este comando para eliminar todos los archivos. Bummer. -
ln -sf link_name /some/important/file
. Tengo la sintaxis para este comando equivocado de vez en cuando, y en su lugar será feliz sobrescribir su importante archivo con un inútil enlace simbólico. -
kill -9 -1
va a matar a cada uno de sus programas, el registro de usted bastante rápido y posiblemente causando la pérdida de datos.