Quien utiliza Terminal a diario en macOS acaba aprendiendo grep, ssh, find, curl, tail, alias de shell y decenas de utilidades que también encontraría en cualquier servidor Linux. Pero el Mac tiene otra capa menos conocida: comandos que hablan directamente con Finder, Spotlight, Quick Look, el sistema de voz, la gestión energética o el motor de imágenes de macOS. No requieren instalar Homebrew ni añadir otra dependencia al sistema. Muchos llevan años incluidos en el propio sistema operativo. Apple mantiene Terminal precisamente como una vía para ejecutar estas herramientas y automatizar tareas desde el shell.
Las claves de los comandos nativos de macOS en 20 segundos
- macOS incluye utilidades propias que no suelen encontrarse en un servidor Linux convencional.
openconecta Terminal con Finder y las aplicaciones gráficas.mdfindpermite consultar desde consola el índice de Spotlight.caffeinateevita que el Mac duerma mientras termina una tarea.say,sips,textutil,networkQualityopmsetpermiten automatizar funciones del sistema sin instalar software adicional.
El cambio de mentalidad es sencillo. Terminal no tiene por qué utilizarse únicamente como una capa Unix situada debajo de macOS. También puede convertirse en una interfaz de automatización para muchas funciones del propio sistema.
Apple recuerda en su documentación que las herramientas disponibles dentro de las rutas incluidas en PATH pueden ejecutarse directamente desde Terminal y que los comandos pueden combinarse dentro de scripts.
Ahí aparecen algunas utilidades sorprendentemente prácticas.
open: saltar de Terminal a Finder sin buscar la carpeta
Uno de los ejemplos más sencillos es también uno de los que más tiempo puede ahorrar.
open .
El punto representa el directorio actual. El comando solicita a macOS que lo abra utilizando la aplicación asociada, que en este caso será Finder.
Resulta especialmente cómodo después de navegar por una ruta larga:
cd ~/Projects/client/web/public/assets/images
open .
No hace falta abrir Finder y repetir manualmente el mismo recorrido.
open sirve además para archivos, URL y aplicaciones:
open index.html
open https://github.com
open -a Safari index.html
open -a "Visual Studio Code" .
Otra opción muy útil es:
open -R config.json
En lugar de abrir directamente el archivo, Finder muestra su ubicación y lo deja seleccionado.
Apple documenta también la integración en sentido contrario: desde Finder puede abrirse Terminal directamente en la carpeta seleccionada.
Entre ambos mecanismos es posible moverse continuamente entre interfaz gráfica y terminal sin tener que reconstruir rutas.
mdfind: usar Spotlight desde la línea de comandos
find sigue siendo una herramienta extraordinariamente útil, pero trabaja recorriendo el sistema de archivos según los parámetros que se le indiquen.
macOS tiene otra posibilidad.
Spotlight mantiene un índice de archivos y metadatos que utilizan Finder y las búsquedas del sistema. Apple ofrece APIs específicas para consultar esos metadatos y documenta su sintaxis de consultas.
Desde Terminal puede aprovecharse mediante mdfind.
Por ejemplo:
mdfind "docker-compose.yml"
o:
mdfind -name ".zshrc"
También puede limitarse la búsqueda a una ruta:
mdfind -onlyin ~/Projects "TODO"
La diferencia respecto a buscar únicamente nombres es importante. Cuando Spotlight ha indexado el contenido y el tipo de archivo dispone de un importador compatible, puede encontrar información almacenada dentro de documentos.
Eso convierte mdfind en una herramienta interesante para búsquedas sobre grandes cantidades de PDFs, documentación o proyectos.
No sustituye siempre a find. Si se necesita localizar archivos que Spotlight no ha indexado, trabajar con criterios Unix muy concretos o buscar dentro de determinados directorios excluidos del índice, find sigue siendo la elección adecuada.
Son herramientas diferentes.
caffeinate: impedir que el Mac duerma mientras termina un proceso
Hay situaciones en las que un portátil entrando en reposo es exactamente lo contrario de lo que se necesita.
Una compilación.
Una descarga.
Un proceso de mantenimiento.
Una sesión SSH.
Un script que tardará una hora.
Cambiar temporalmente la configuración energética funciona, pero existe una alternativa mucho más limpia:
caffeinate ./deploy.sh
Mientras el comando esté ejecutándose, caffeinate solicita a macOS que mantenga activo el sistema según las aserciones energéticas correspondientes.
Al finalizar el proceso desaparece esa condición.
También puede utilizarse durante un tiempo determinado:
caffeinate -t 3600
En este caso mantendrá la correspondiente aserción durante 3.600 segundos, una hora.
Y si se ejecuta simplemente:
caffeinate
permanece activo hasta finalizar el proceso, por ejemplo mediante Ctrl+C.
Es una de esas utilidades que parecen poco importantes hasta el primer día que evitan que una tarea larga quede interrumpida porque el ordenador ha entrado en reposo.
say: que el Mac avise cuando termina una compilación
macOS incluye desde hace años un sintetizador de voz accesible desde Terminal.
El comando es tan simple como:
say "Build complete"
Pero empieza a resultar realmente útil cuando se encadena con otro proceso:
npm run build && say "Build complete"
Puede añadirse también un aviso diferente cuando aparece un error:
npm run build \
&& say "Build complete" \
|| say "Build failed"
La utilidad está en no tener que volver continuamente a la ventana de Terminal para comprobar si una tarea de diez minutos ya ha terminado.
Puede utilizarse con tests:
npm test && say "Tests passed" || say "Tests failed"
Una descarga:
curl -O https://example.com/large-file.zip \
&& say "Download complete"
o prácticamente cualquier proceso que devuelva correctamente su código de salida.
También permite seleccionar distintas voces instaladas:
say -v Daniel "Deployment finished"
No es el sistema de notificaciones más sofisticado del mundo.
Precisamente por eso funciona tan bien: no hay nada que instalar ni configurar.
screencapture: las capturas de pantalla también pueden automatizarse
Los atajos Command + Shift + 3 y Command + Shift + 4 son probablemente conocidos por casi cualquier usuario de Mac.
El sistema que hay detrás también dispone de una herramienta de línea de comandos:
screencapture captura.png
Se pueden añadir diferentes opciones.
Por ejemplo, selección interactiva:
screencapture -i captura.png
o incluir un retraso:
screencapture -T 5 captura.png
Esto resulta útil para preparar una interfaz, abrir un menú o colocar una aplicación en un determinado estado antes de realizar la captura.
También puede utilizarse la integración con el portapapeles según las opciones disponibles en la versión instalada de macOS.
La ventaja para un desarrollador aparece cuando las capturas dejan de ser algo manual y pasan a formar parte de scripts, documentación o procesos de pruebas.
sips: macOS lleva incorporado su propio procesador de imágenes
Para transformaciones complejas ImageMagick continúa siendo una herramienta extraordinariamente potente.
Pero instalarlo únicamente para reducir una fotografía quizá sea innecesario.
macOS incorpora SIPS, Scriptable Image Processing System.
Por ejemplo:
sips -Z 800 photo.png
reduce la imagen conservando su proporción para que su mayor dimensión sea de 800 píxeles.
También puede cambiar el formato:
sips -s format jpeg photo.png --out photo.jpg
rotar:
sips -r 90 photo.png
o procesar varios archivos:
sips -Z 200 *.png
Eso puede resultar especialmente cómodo para crear miniaturas de capturas, preparar imágenes antes de subirlas a una web o incluir un tratamiento básico dentro de un script.
Hay que prestar atención a una característica: determinadas operaciones pueden modificar el archivo de origen si no se especifica una salida diferente.
Cuando los originales importen, es mejor trabajar sobre copias o utilizar explícitamente --out.
SIPS no sustituye a herramientas profesionales de tratamiento de imágenes. Pero para muchas operaciones cotidianas evita añadir una dependencia únicamente para cambiar el tamaño o formato de una imagen.
textutil: convertir documentos sin abrir Word
Otro comando nativo particularmente curioso es:
textutil
Permite realizar conversiones entre varios formatos documentales compatibles con los servicios de texto de macOS.
Por ejemplo:
textutil -convert txt report.docx
Puede ser una manera rápida de extraer el contenido textual de un documento Word.
También:
textutil -convert html report.docx
o transformar HTML:
textutil -convert docx notes.html
Existe incluso la posibilidad de concatenar documentos compatibles:
textutil -cat txt *.docx -output all.txt
Para un desarrollador, administrador de sistemas o periodista que recibe documentación en diferentes formatos puede ser una solución bastante práctica.
Y tiene otra ventaja: el procesamiento se realiza localmente.
No es necesario subir un documento potencialmente confidencial a una página de conversión de archivos.
defaults: algunas preferencias de macOS también se pueden convertir en código
Otra herramienta muy conocida entre administradores de Mac pero bastante menos utilizada por desarrolladores es:
defaults
Permite leer y modificar preferencias utilizadas por aplicaciones y componentes del sistema.
Un ejemplo habitual consiste en cambiar la ubicación donde macOS guarda determinadas capturas:
mkdir -p ~/Screenshots
defaults write com.apple.screencapture location ~/Screenshots
También pueden modificarse algunas preferencias de Finder:
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
Lo interesante no es únicamente evitar unos cuantos clics.
Estas configuraciones pueden guardarse dentro de un script.
Para alguien que utiliza varios Macs, reinstala máquinas con frecuencia o prepara equipos para un equipo de desarrollo, eso significa que parte de la configuración del escritorio puede convertirse en algo repetible.
Hay que ser prudente, especialmente con parámetros internos que Apple no documenta como interfaces estables. Algunas preferencias pueden cambiar o desaparecer entre versiones de macOS.
Antes de copiar comandos defaults write de un artículo publicado hace diez años conviene comprobar que siguen teniendo sentido en la versión actual del sistema.
networkQuality: probar la conexión sin abrir una web llena de publicidad
Desde macOS Monterey existe también una utilidad especialmente práctica para diagnosticar conexiones:
networkQuality
Ejecuta una medición de las características de la conexión de red y proporciona información sobre capacidad y capacidad de respuesta.
La segunda métrica resulta interesante porque una conexión no se comporta igual cuando está vacía que cuando existen descargas o subidas consumiendo ancho de banda.
Para comprobar por qué una videollamada funciona mal, una medición de latencia bajo carga puede aportar más información que limitarse a comprobar el máximo de megabits por segundo.
La opción disponible en cada versión puede consultarse directamente:
man networkQuality
o:
networkQuality -h
Es una buena costumbre con muchas de estas utilidades. macOS incluye sus propias páginas de manual y Apple recuerda que Terminal permite consultar la documentación de herramientas directamente mediante man.
pmset: averiguar qué está pasando con batería y reposo
Cuando un Mac pierde demasiada batería durante la noche, la respuesta puede estar en los registros energéticos.
pmset sirve para gestionar y consultar diferentes aspectos de la administración de energía.
Una consulta sencilla es:
pmset -g batt
que devuelve información sobre la batería y alimentación actual.
También pueden consultarse registros:
pmset -g log
Y filtrarlos:
pmset -g log | grep -i wake
Esto puede ayudar a localizar eventos relacionados con despertares del sistema.
No siempre aparecerá una respuesta inmediata y las causas de consumo energético pueden ser bastante más complejas, pero resulta mucho más útil que intentar adivinar qué aplicación despertó el equipo.
Para cambiar parámetros energéticos con pmset conviene conocer bien sus consecuencias. Como herramienta de consulta, en cambio, puede aportar bastante información sin modificar nada.
qlmanage: Quick Look también existe desde Terminal
Finder tiene una de esas funciones que se echan de menos al cambiar de sistema operativo: seleccionar un archivo, pulsar espacio y obtener una previsualización inmediata.
Apple denomina a esta función Quick Look. Desde Finder sigue disponible mediante Command + Y y otros mecanismos del sistema.
Desde Terminal existe qlmanage.
Por ejemplo:
qlmanage -p diagram.png
permite solicitar una vista previa mediante Quick Look.
No es una herramienta concebida originalmente como visor de consola universal. Su nombre ya da una pista: forma parte de las utilidades de gestión y diagnóstico de Quick Look.
Pero funciona muy bien para una situación cotidiana:
se está trabajando dentro de una carpeta llena de imágenes, PDFs u otros archivos y simplemente se quiere saber si uno de ellos es el correcto sin abandonar el flujo de Terminal.
El Mac tiene dos terminales escondidos en uno
La mayoría de desarrolladores aprende primero la parte portátil del terminal.
ssh seguirá funcionando en el servidor.
grep seguirá siendo útil en Linux.
Los conocimientos de shell pueden acompañar al desarrollador durante décadas y entre sistemas operativos diferentes.
Pero en macOS existe otra capa que merece la pena conocer.
Spotlight puede consultarse desde Terminal.
Finder puede abrirse desde Terminal y Terminal desde Finder.
El ordenador puede hablar.
La gestión energética puede consultarse.
Quick Look puede invocarse.
Los documentos pueden convertirse.
Las imágenes pueden procesarse.
La configuración puede automatizarse.
Y muchas de estas herramientas están presentes antes de instalar Homebrew, Node.js, Python, Docker o el primer editor de código.
No hace falta memorizar cincuenta comandos.
Probablemente tampoco se utilizarán todos los anteriores.
Pero basta con que caffeinate salve una sesión remota, mdfind localice en segundos un documento perdido o say evite comprobar veinte veces una compilación para que alguno termine incorporándose al flujo diario.
La diferencia está en dejar de considerar macOS simplemente como un Unix con una interfaz gráfica encima.
Terminal también puede ser una puerta de entrada a las funciones propias del Mac.
Y buena parte de ellas llevan años esperando a que alguien escriba su nombre seguido de Enter.
Preguntas frecuentes
¿Estos comandos necesitan Homebrew?
No. open, mdfind, caffeinate, say, screencapture, sips, textutil, defaults, networkQuality, pmset y qlmanage forman parte de macOS en las versiones en las que están disponibles. Las opciones concretas pueden variar entre versiones.
¿Qué comando permite abrir una carpeta de Terminal en Finder?
open . abre el directorio de trabajo actual utilizando Finder. También puede utilizarse open -R archivo para mostrar su ubicación y seleccionarlo.
¿Cómo evitar que un Mac entre en reposo durante una tarea larga?
Una posibilidad es ejecutar el proceso con caffeinate, por ejemplo caffeinate ./script.sh. Cuando finaliza el proceso desaparece la condición temporal utilizada para mantener activo el equipo.
¿Es mejor mdfind que find?
No son sustitutos directos. mdfind consulta el índice y los metadatos de Spotlight, por lo que puede resultar muy rápido para contenido indexado. find recorre el sistema de archivos y permite búsquedas Unix muy precisas incluso sobre archivos que Spotlight no haya indexado.








