tallermac

macOS, automatización y oficio · 208 artículos

Terminal 26 de junio de 2025 Por Francisco Sierra Cuerva 7 min de lectura

pbcopy y pbpaste en el Terminal del Mac: el puente con el Finder

Domina pbcopy y pbpaste en el Terminal de macOS para mover texto entre la línea de comandos y el portapapeles, además de open, screencapture y osascript.

Close-up of HTML code with syntax highlighting on a computer monitor.
Foto de Bibek ghosh en Pexels

Escena conocida: ejecutas un comando, la salida ocupa tres pantallas, y ahora necesitas pegarla en un correo. Seleccionas con el ratón, te pasas una línea, vuelves atrás, seleccionas otra vez. Hay una forma mejor y lleva décadas en macOS: dos comandos minúsculos que conectan el Terminal con el portapapeles del sistema, el mismo que usas con ⌘C y ⌘V en cualquier app.

pbcopy y pbpaste en el Terminal del Mac son eso: pbcopy copia la entrada estándar al portapapeles (pasteboard, de ahí el nombre) y pbpaste vuelca el contenido del portapapeles a la salida estándar. Así lo define la página del manual de pbcopy. Nada de seleccionar con el ratón: cualquier salida de comando llega al portapapeles con una tubería, y cualquier cosa copiada puede entrar en un script. Son la pieza central de un puente más amplio entre Finder y Terminal que incluye open, screencapture y osascript. Vamos a verlo con ejemplos que puedes copiar tal cual.

pbcopy: del Terminal al portapapeles

El patrón básico es una tubería: lo que un comando imprime, pbcopy lo copia.

# Copiar el contenido de un archivo entero
pbcopy < informe.txt

# Copiar la salida de un comando
git log --oneline -10 | pbcopy

# Copiar tu clave pública SSH (el clásico)
pbcopy < ~/.ssh/id_ed25519.pub

# Copiar la ruta actual
pwd | pbcopy

Después de cualquiera de estos, pulsas ⌘V en Mail, Slack o Pages y ahí está el texto. Sin ratón, sin selección imprecisa, sin saltos de línea fantasma. Dos detalles del manual que conviene conocer:

  • Si la entrada empieza con cabecera RTF o PostScript, pbcopy la guarda con ese formato en lugar de texto plano. Para el día a día es irrelevante, pero explica por qué a veces pegas texto «con formato» inesperado.
  • El texto se convierte a la codificación de tu entorno (normalmente UTF-8). Si copias archivos en otras codificaciones, el resultado se normaliza a UTF-8.

Un uso infravalorado: copiar la salida de pbpaste procesada. Pero eso nos lleva al comando simétrico.

pbpaste: del portapapeles al Terminal

pbpaste escribe en la salida estándar lo que haya en el portapapeles. Solo eso, y por eso es tan combinable:

# Pegar el portapapeles en un archivo
pbpaste > notas.txt

# Contar las líneas de lo que acabas de copiar
pbpaste | wc -l

# Convertir a mayúsculas lo copiado y volver a copiarlo
pbpaste | tr '[:lower:]' '[:upper:]' | pbcopy

# Limpiar formato: extraer solo URLs de un texto copiado
pbpaste | grep -Eo 'https?://[^ ]+' | pbcopy

El último patrón —pbpaste | filtro | pbcopy— es una navaja suiza: copias un texto en cualquier app, lo transformas con herramientas Unix (sed, awk, jq, sort) y lo dejas de nuevo en el portapapeles, transformado, listo para ⌘V. Es la forma más rápida de, por ejemplo, ordenar alfabéticamente una lista pegada desde un correo: pbpaste | sort | pbcopy.

Una limitación honesta: estos comandos trabajan con texto. Si el portapapeles contiene una imagen o un archivo del Finder, pbpaste no puede volcarlo como texto. Para gestionar historial, imágenes y fragmentos múltiples necesitas un gestor de portapapeles; comparamos opciones en la guía de portapapeles con historial para Mac.

open: abrir archivos, apps y URLs desde el Terminal

El puente en dirección contraria es open. Le pasas cualquier cosa y macOS la abre como si hubieras hecho doble clic en el Finder:

# Abrir la carpeta actual en el Finder
open .

# Abrir un archivo con su app predeterminada
open informe.pdf

# Abrir un archivo con una app concreta
open -a "Visual Studio Code" proyecto/

# Abrir una URL en el navegador por defecto
open https://tallerdelmac.com

# Abrir una búsqueda directamente
open "https://duckduckgo.com/?q=macos+wdutil"

open . solo ya justifica aprenderse el comando: estás navegando por el Terminal, llegas a una carpeta profunda y necesitas verla con iconos o arrastrar algo — una pulsación y tienes la ventana del Finder ahí. Y open -a permite lanzar apps sin buscarlas: open -a Safari, open -a "Monitor de Actividad".

Del Finder al Terminal: rutas sin escribir

El puente también funciona a mano, sin comandos:

  • Arrastrar al Terminal: arrastra cualquier archivo o carpeta desde el Finder a una ventana del Terminal y se pega su ruta completa, con los espacios escapados. Escribes cd, arrastras la carpeta, Intro. Es la forma estándar de evitar escribir rutas largas.
  • Copiar ruta desde el Finder: en el Finder, selecciona un elemento y pulsa ⌥⌘C para copiar su ruta como texto; luego cd "$(pbpaste)" te lleva hasta ella. Más trucos de este tipo en nuestra guía de trucos del Finder.
  • cd a la carpeta abierta en el Finder: el movimiento inverso a open .. Con AppleScript se le pregunta al Finder qué carpeta tiene al frente:
cd "$(osascript -e 'tell application "Finder" to POSIX path of (insertion location as alias)' | sed 's:/$::')"

Es un comando feo de memorizar, así que conviértelo en un alias (alias cdf='...') en tu ~/.zshrc y lo tendrás para siempre.

Otros puentes: screencapture y osascript

Dos comandos más completan el pasillo entre Terminal y escritorio:

# Captura de pantalla directa al portapapeles
screencapture -c

# Captura interactiva de una zona a un archivo
screencapture -i ~/Desktop/zona.png

# Captura con retardo de 5 segundos (para preparar menús)
screencapture -T 5 ~/Desktop/captura.png

screencapture -c es el equivalente en Terminal de ⌃⇧⌘3: la captura va al portapapeles y la pegas donde quieras. Las opciones interactivas y los atajos de teclado los detallamos en la guía de capturas de pantalla en Mac.

Y osascript ejecuta AppleScript desde la línea de comandos, lo que abre todo el sistema: notificaciones, diálogos, control de apps.

# Notificación cuando termina una tarea larga
make build && osascript -e 'display notification "Build terminado" with title "Terminal"'

# Diálogo con texto del sistema
osascript -e 'display dialog "Copias de seguridad completadas" buttons {"OK"}'

El patrón de notificación es especialmente útil: encadenas && osascript ... a cualquier comando largo (compilaciones, rsync, tests) y el Mac te avisa aunque estés en otra app. Es automatización mínima sin instalar nada.

Preguntas frecuentes

¿pbcopy funciona con imágenes o archivos? No de forma útil. pbcopy y pbpaste manejan texto (y RTF/PostScript como formato de texto). Copiar una imagen o un archivo del Finder al Terminal requiere herramientas de terceros como pngpaste, o gestores de portapapeles con historial.

¿Cuál es la diferencia entre pbcopy y ⌘C? Ninguna en el resultado: ambos escriben en el mismo portapapeles general del sistema. La diferencia está en el origen: pbcopy recibe texto por tubería desde cualquier comando, sin selección manual. Lo que copies con pbcopy se pega con ⌘V en cualquier app, y viceversa.

¿Cómo copio la ruta de un archivo desde el Terminal? Con pwd | pbcopy copias la carpeta actual. Para un archivo concreto: realpath archivo.txt | pbcopy (en macOS reciente) o echo "$(pwd)/archivo.txt" | pbcopy. Y a la inversa, arrastrar el archivo al Terminal pega su ruta automáticamente.

¿Existen pbcopy y pbpaste en Linux? No de forma nativa; son específicos de macOS. Los equivalentes en Linux son xclip o xsel en X11 y wl-copy/wl-paste en Wayland, con la misma idea de tubería al portapapeles.

El Terminal y el Finder no son dos mundos: son dos vistas del mismo sistema, y pbcopy, pbpaste, open, el arrastre de rutas, screencapture y osascript son las puertas entre ambos. Aprende la tubería comando | pbcopy y el open . esta semana; el patrón pbpaste | filtro | pbcopy llegará solo cuando lo necesites. A partir de ahí, el ratón deja de hacer falta para mover texto de un lado a otro.

Sigue leyendo

Sobre el autor

Soy Francisco Sierra Cuerva, desarrollador de software, maquero de larga recorrida y el autor de este taller. Escribo en español sobre macOS, automatización y las apps que merecen hueco en tu equipo, siempre con datos y fuentes sobre la mesa.

También soy el autor de SideList, una lista de tareas sencilla que vive en la barra de menús del Mac. Si te gusta lo que lees aquí, es la mejor muestra de cómo entiendo el software para macOS.

Equipo recomendado

Transparencia: los enlaces de esta sección son de afiliado. En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. A ti no te cuesta nada más y solo recomiendo lo que uso.

Comentarios (0)

Todavía no hay comentarios aprobados. Sé el primero.

Los comentarios se revisan antes de publicarse.