¡Ejecute el último comando ejecutado como root con sudo!
Tabla de contenido:
¿Alguna vez intentó ejecutar una herramienta de línea de comandos y descubrió que no tiene los privilegios necesarios para usarla? ¿O tal vez el comando en sí mismo realmente requiere acceso de root para ejecutarse? Por lo general, experimentará esto con un tipo de mensaje de error de "permiso denegado" en la terminal. En lugar de escribir toda la cadena de comando nuevamente, o presionar la flecha hacia arriba y mover el cursor para preceder el comando con sudo, puede usar un truco increíble que ejecuta nuevamente el último comando ejecutado con privilegios sudoLo mejor de todo es que este excelente truco de volver a ejecutar el último comando funciona en MacOS / Mac OS X y Linux.
OK, solo por el título, probablemente estés pensando que esto es solo una hipérbole debido a los signos de exclamación, pero te juro que no solo estoy muy entusiasmado con el comando sudo (aunque este comando ¡es genial!)… no, en cambio, los signos de exclamación son en realidad parte del uso de la herramienta sudo en este sentido.
Cómo volver a ejecutar el último comando ejecutado como usuario root
Si desea ejecutar rápidamente el último comando ejecutado pero como superusuario raíz, simplemente escriba lo siguiente:
sudo !!
Sí, eso es "sudo" seguido de un espacio y dos signos de exclamación.
Esto ejecutará instantáneamente el comando ejecutado anteriormente pero con el prefijo sudo, lo que generalmente significa que deberá ingresar una contraseña de administrador para completar la secuencia.
Un ejemplo de esto sería si está tratando de editar el archivo de hosts u otro archivo de sistema para el que necesita privilegios de sistema. En lugar de volver a ingresar la cadena de comando completa precedida por sudo, simplemente escriba sudo !! y el comando anterior (!!) se ejecutará bajo sudo.
Por ejemplo, supongamos que intenta modificar el archivo host de los usuarios:
nano /etc/hosts
Pero no puede guardar ni editar el archivo debido a la f alta de credenciales de usuario adecuadas, ¿verdad? No se preocupe, en lugar de escribir la secuencia de comandos completa 'sudo nano /etc/hosts' nuevamente, simplemente escriba lo siguiente:
sudo !!
Esto toma el último comando (en este caso, nano /etc/hosts) y lo prefija con sudo automáticamente, convirtiéndose en el completo 'sudo nano /etc/hosts'
Esto funciona literalmente con todas las herramientas de línea de comandos y ejecución de comandos, así que pruébelo, es bastante impresionante.
Como se mencionó anteriormente, este truco funciona en la línea de comandos de MacOS y Linux, y probablemente también en muchos otros sistemas operativos basados en Unix.