Guía detallada de las herramientas de línea de comandos de terceros en el entorno local de ServBay
ServBay, como un potente entorno local de desarrollo web, no sólo integra servidores web, bases de datos y runtimes de lenguajes comunes, sino que también preinstala diversas herramientas de línea de comandos de terceros sumamente útiles para el día a día de los desarrolladores. Estas utilidades cubren áreas clave como procesamiento de imágenes, comunicación de red, compresión y descompresión de archivos, así como cifrado y seguridad de datos.
Este artículo describe detalladamente las herramientas de línea de comandos incluidas en el entorno de ServBay, explicando su función y proporcionando ejemplos básicos de uso, para que puedas sacar el máximo partido a todo lo que ServBay te ofrece.
¿Por qué ServBay incluye estas herramientas?
Durante el desarrollo web, además de programar, a menudo es necesario realizar tareas auxiliares como:
- Optimizar o procesar imágenes.
- Probar APIs o depurar solicitudes de red.
- Gestionar o manipular archivos comprimidos.
- Generar o administrar certificados SSL y llaves.
ServBay integra estas herramientas de uso frecuente en su entorno, permitiendo que los desarrolladores las utilicen directamente desde la terminal de ServBay, sin necesidad de instalaciones adicionales ni configuraciones. Esto facilita y agiliza enormemente el trabajo diario.
Requisitos previos
Antes de utilizar las siguientes herramientas de línea de comandos, asegúrate de que:
- ServBay está correctamente instalado y en ejecución en tu sistema macOS.
- Has accedido a la terminal de ServBay, o bien a una terminal del sistema en la cual las variables de entorno de ServBay han sido configuradas; así podrás llamar a estas herramientas directamente.
Componentes para procesamiento de imágenes
ServBay incluye varias herramientas para manipular imágenes, ideales tanto para desarrolladores frontend como para quienes deban gestionar recursos multimedia en el backend.
ImageMagick
ImageMagick es un conjunto de utilidades y librerías de línea de comandos muy versátil, compatible con más de 200 formatos de imágenes. Permite crear, editar, componer o convertir imágenes de mapas de bits.
Uso básico
Convertir el formato de una imagen:
bashmagick convert input.jpg output.png
1Redimensionar una imagen:
bashmagick convert input.jpg -resize 300x300 output.jpg
1Agregar una marca de agua:
bashmagick convert input.jpg -gravity southeast -draw "text 10,10 'ServBay'" output.jpg
1
cwebp
cwebp es el codificador de línea de comandos desarrollado por Google para convertir imágenes al formato WebP. Este formato moderno suele ofrecer mejor compresión (tanto con o sin pérdida) que JPEG o PNG, manteniendo una calidad similar y favoreciendo la velocidad de carga de los sitios web.
Uso básico
Convertir una imagen JPEG a WebP:
bashcwebp input.jpg -o output.webp
1Convertir una imagen PNG a WebP:
bashcwebp input.png -o output.webp
1Ajustar la calidad de compresión (por ejemplo, calidad 80):
bashcwebp -q 80 input.jpg -o output.webp
1
jpegtran
jpegtran es una herramienta para transformar imágenes JPEG de manera sin pérdida, permitiendo realizar rotaciones, voltear y transponer las imágenes sin descomprimir ni recomprimir, evitando artefactos de compresión.
Uso básico
Rotar una imagen JPEG 90 grados en sentido horario:
bashjpegtran -rotate 90 input.jpg > output.jpg
1Voltear una imagen JPEG horizontalmente:
bashjpegtran -flip horizontal input.jpg > output.jpg
1
djpeg
djpeg es una utilidad para descomprimir archivos JPEG a formatos de píxeles más básicos (como PPM, PGM, BMP o Targa). Es útil cuando necesitas manipular la información sin compresión de una imagen JPEG.
Uso básico
- Descomprimir un JPEG en formato PPM:bash
djpeg input.jpg > output.ppm
1
cjpeg
cjpeg realiza la operación inversa de djpeg: convierte imágenes en formato PPM, PGM, BMP o Targa a archivos JPEG comprimidos.
Uso básico
- Comprimir un archivo PPM en formato JPEG:bash
cjpeg input.ppm > output.jpg
1
img2webp
img2webp permite unir una serie de imágenes estáticas (como PNG o JPEG) en un único archivo animado en formato WebP.
Uso básico
- Combinar varias imágenes en un WebP animado:bash(Asegúrate de que las imágenes
img2webp -o output.webp frame1.png frame2.png frame3.png
1frame*.png
estén ordenadas correctamente como fotogramas de la animación)
Componentes de comunicación de red
cURL
cURL es una herramienta y librería de línea de comandos ampliamente utilizada para transferir datos mediante diversos protocolos de red. Es esencial para pruebas de APIs, descargas y comunicación con servidores remotos. ServBay la integra para facilitar la depuración y el intercambio de datos en la red.
Uso básico
Enviar una solicitud HTTP GET a una API de ejemplo:
bashcurl -X GET https://api.servbay.demo/data
1Enviar una solicitud HTTP POST con datos:
bashcurl -X POST -d "param1=value1¶m2=value2" https://api.servbay.demo/data
1Descargar un archivo y guardarlo con su nombre original:
bashcurl -O https://servbay.demo/file.zip
1Ver las cabeceras de solicitud y respuesta:
bashcurl -I https://servbay.demo
1
Componentes de compresión y descompresión
ServBay integra varias herramientas comunes para manejo de archivos comprimidos, facilitando el trabajo con diferentes formatos.
bzip2
bzip2 es una herramienta eficiente de compresión que utiliza la transformación Burrows-Wheeler y codificación Huffman. Suele generar archivos más pequeños que gzip, aunque el proceso de compresión/descompresión puede ser algo más lento.
Uso básico
Comprimir un archivo (el original se sustituye por uno con extensión
.bz2
):bashbzip2 input.txt
1Descomprimir un archivo (el
.bz2
se reemplaza por el archivo original):bashbunzip2 input.txt.bz2
1Descomprimir y mostrar en la salida estándar:
bashbzip2 -dc input.txt.bz2
1
gzip
gzip es una de las herramientas de compresión más populares, muy utilizada en sistemas Unix y Linux. Utiliza el algoritmo Lempel-Ziv (LZ77) y ofrece alta velocidad de compresión y descompresión.
Uso básico
Comprimir un archivo (el original se sustituye por uno con extensión
.gz
):bashgzip input.txt
1Descomprimir un archivo (el
.gz
se reemplaza por el archivo original):bashgunzip input.txt.gz
1Descomprimir y mostrar en la salida estándar:
bashgzip -dc input.txt.gz
1
xz
xz es una utilidad de compresión basada en el algoritmo LZMA2, que ofrece un ratio de compresión muy alto, por lo general superior al de gzip y bzip2, aunque suele ser más lenta al comprimir (la descompresión es rápida).
Uso básico
Comprimir un archivo (el original se sustituye por uno con extensión
.xz
):bashxz input.txt
1Descomprimir un archivo (el
.xz
se reemplaza por el archivo original):bashunxz input.txt.xz
1Descomprimir y mostrar en la salida estándar:
bashxz -dc input.txt.xz
1
zstd
zstd (Zstandard) es un algoritmo de compresión rápida desarrollado por Facebook, que logra un buen equilibrio entre velocidad y ratio de compresión. Usualmente, es mucho más rápido que gzip e iguala o mejora su compresión.
Uso básico
Comprimir un archivo (el original se sustituye por uno con extensión
.zst
):bashzstd input.txt
1Descomprimir un archivo (el
.zst
se reemplaza por el archivo original):bashunzstd input.txt.zst
1Descomprimir y mostrar en la salida estándar:
bashzstd -dc input.txt.zst
1
Componentes de cifrado y seguridad
OpenSSL
OpenSSL es un potente paquete de herramientas de código abierto que implementa los protocolos SSL (Secure Sockets Layer) y TLS (Transport Layer Security), y ofrece extensas funcionalidades criptográficas. En ServBay, OpenSSL es clave para la generación de llaves, solicitudes de firma de certificados (CSR), y para la gestión de archivos de certificados SSL, lo cual es esencial para pruebas locales de HTTPS o para utilizar la CA de usuario de ServBay o ACME.
Uso básico
Generar una clave privada RSA de 2048 bits:
bashopenssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
1Generar la clave pública correspondiente a una clave privada:
bashopenssl rsa -pubout -in private_key.pem -out public_key.pem
1Crear una solicitud de firma de certificado (CSR):
bashopenssl req -new -key private_key.pem -out request.csr
1(Al ejecutar este comando deberás introducir los datos del certificado, como país, organización, nombre común, etc.)
Generar un certificado autofirmado (para pruebas locales):
bashopenssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1(Nota:
-in request.csr
asume que el CSR ya ha sido generado. Si quieres crear la clave privada y el certificado autofirmado en un solo paso, hay formas más directas, aunque generalmente sólo deben usarse para pruebas simples).Ver información de un certificado:
bashopenssl x509 -in certificate.crt -text -noout
1
Notas
- Las versiones de estas herramientas dependen de la versión de ServBay que tengas instalada.
- Puedes acceder a todas las herramientas directamente desde la terminal de tu sistema. Si no puedes utilizarlas, asegúrate de que las variables de entorno de ServBay (en especial PATH) estén correctamente configuradas.
Resumen
ServBay es mucho más que un simple entorno local de desarrollo web: gracias a la integración de herramientas de línea de comandos de terceros, amplía enormemente sus capacidades y ayuda a los desarrolladores a realizar de manera eficiente tareas de procesamiento de imágenes, depuración de red, gestión de archivos y seguridad. Familiarizarte y sacar partido de estas utilidades incorporadas hará que tu experiencia de desarrollo sea más productiva y fluida.