Muchas personas se mantienen alejadas de la Terminal de macOS debido al tedio de escribir comandos largos y precisos. Pero puede ahorrar mucho tiempo y escribir menos utilizando las funciones de historial de comandos integradas en el shell de Terminal. El shell mantiene un registro de los comandos que ejecuta, y puede acceder a este historial con unas simples pulsaciones de teclas para ejecutar comandos nuevamente o editarlos, de modo que no tenga que volver a escribirlos.
Terminal guarda el historial de comandos en el orden de último en entrar, primero en salir, lo que significa que el primer comando en la lista del historial es el último comando emitido. Si desea ejecutar un comando que ya ha escrito, digamos que desea volver a ejecutar el último comando que acaba de escribir, todo lo que tiene que hacer es presionar la tecla de flecha hacia arriba y el shell muestra el último comando de ejecución en el indicador .
Si desea ejecutar un comando que ejecutó anteriormente, presione la tecla de flecha hacia arriba varias veces. Mientras hace esto, el shell recorre sus últimos comandos, mostrando cada uno en el indicador. Si decide que no desea usar un comando en la lista del historial, simplemente presione la tecla de flecha hacia abajo hasta que vuelva a un indicador vacío y luego ingrese un nuevo comando.
Índice de contenidos
Reescribiendo la historia
Con el historial de comandos, puede volver a ejecutar comandos anteriores, pero también puede modificar comandos y ejecutarlos con diferentes argumentos. Una de las formas más sencillas de hacer esto es utilizar el !!
comando para ejecutar el comando anterior, agregando nueva información. Supongamos que desea enumerar el contenido de un directorio, así:
ls ~/Library/Preferences/ByHost
Después de leer la lista, decide que desea guardar esta lista en un archivo. Puede ejecutar lo siguiente:
!! > list.txt
Terminal reemplaza al !! atajo con el último comando que ejecutó, así que !! > list.txt
es lo mismo que escribir este comando:
ls ~/Library/Preferences/ByHost > list.txt
Edita los comandos
Además de moverse hacia arriba y hacia abajo en el historial de comandos presionando las teclas de flecha hacia arriba y hacia abajo, mostrando cada comando en el símbolo del sistema en Terminal, también puede editar los comandos que aparecen o agregar argumentos a ellos. Esto ahorra tiempo cuando necesita ejecutar un comando que es muy similar pero no exactamente igual.
Digamos que quiere copiar un archivo; escribe un comando como este:
cp /Users/kirk/Pictures/P101068.jpg /Users/Shared
La terminal dice que el archivo no existe, pero estás seguro de que sí. Cuando vaya al directorio y verifique, verá que efectivamente hay un archivo con un nombre similar, pero dejó un cero. Usando el historial de comandos, puede presionar la flecha hacia arriba para mostrar el comando nuevamente. Use la flecha izquierda para mover el cursor a la ubicación donde necesita agregar el cero, escriba 0
y luego presione enter. (No es necesario que mueva el cursor al final de la línea).
Puede utilizar la edición de comandos para cambiar comandos y ejecutarlos en diferentes archivos. Por ejemplo, si tiene varios archivos en su directorio Imágenes, puede usar la flecha hacia arriba para volver a mostrar el comando anterior, cambiar el nombre del archivo y ejecutar el comando nuevamente en un archivo diferente.
Cambiar argumentos y opciones
Utilice el mismo truco para cambiar los argumentos u opciones de un comando. En el ejemplo anterior, copié imágenes en mi directorio Usuarios / Compartido. Podría presionar fácilmente la flecha hacia arriba para volver a mostrar el comando y luego modificar el comando para copiar uno de los archivos en una ubicación diferente. No es necesario volver a escribir toda la línea.
De la misma manera, digamos que enumera los archivos en un directorio y luego decide que desea usar el -l
opción para mostrar una lista larga. Presione la flecha hacia arriba para volver a mostrar el comando y luego mueva el cursor hacia la izquierda para agregar -l
. Por ejemplo, ls -l /etc/periodic
.
Ups, olvidé sudo
Hay muchos comandos y áreas de su computadora a las que no puede acceder sin privilegios de usuario root. Si tiene derechos de administrador para su computadora, puede usar la sudo
comando para solicitarle una contraseña.
Pero es molesto escribir un comando largo solo para que Terminal responda con severidad “Permiso denegado”. Si olvidas prefijar un comando con sudo
, Sólo tipo sudo !!
. Este comando le dice al shell que ejecute el comando anterior nuevamente, esta vez precedido por sudo
. Ingrese su contraseña cuando se le solicite y luego presione enter, y el comando se ejecutará. No es necesario volver a escribirlo.
Nota del editor: este artículo es un extracto adaptado de La línea de comandos de Mac OS X: Unix bajo el capó, por Kirk McElhearn (2004; reimpreso con permiso de Sybex). Se ha actualizado para reflejar los cambios en la Terminal para macOS Big Sur.