50 herramientas y comandos CLI que no vas a poder dejar de usar

La versión original de este post se puede encontrar en dev.to/lissy93 (inglés).
Como desarrolladores, pasamos gran parte de nuestro tiempo en el terminal. Hay un montón de herramientas CLI útiles que pueden hacer tu vida en la línea de comandos más fácil, más rápida y más divertida.
Este post describe mi top 50 de herramientas CLI imprescindibles, en las que he llegado a confiar.
Al final del artículo, he incluido algunas secuencias de comandos para ayudarle a automatizar la instalación y actualización de estas herramientas en varios sistemas / distros.
↕️ Índice
- Utilidades
thefuck
- Autocorrección de comandos mal escritoszoxide
- Fácil navegación (mejorcd
)tldr
- Documentos mantenidos por la comunidad (mejorman
)scc
- Contar líneas de código (mejorcloc
)exa
- Archivos de listado (mejorls
)duf
- Uso del disco (mejordf
)aria2
- Utilidad de descarga (mejorwget
)bat
- Lectura de archivos (mejorcat
)diff-so-fancy
- Comparación de archivos (mejordiff
)entr
- Esté atento a los cambiosexiftool
- Lectura y escritura de metadatosfdupes
- Buscador de archivos duplicadosfzf
- Buscador de archivos difuso (mejorfind
)hyperfine
- Evaluación comparativa de mandosjust
- Corredor de comandos moderno (mejormake
)jq
- Procesador JSONmost
- Localizador de desplazamiento multiventana (mejor less)procs
- Visor de procesos (mejor ps)rip
- Herramienta de borrado (mejor rm)ripgrep
- Búsqueda dentro de archivos (mejorgrep
)rsync
- Transferencia rápida e incremental de archivossd
- Buscar y reemplazar (mejorsed
)tre
- Jerarquía de directorios (mejortree
)xsel
- Acceso al portapapeles
- Aplicaciones de monitorización y rendimiento
bandwhich
- Monitor de utilización de ancho de bandactop
- Métricas y monitoreo de contenedoresbpytop
- Monitoreo de recursos (mejorhtop
)glances
- Monitor de recursos + web y APIgping
- Herramienta de ping interactiva (mejorping
)dua-cli
- Analizador y monitor de uso de disco (mejordu
)speedtest-cli
- Utilidad de prueba de velocidad en línea de comandosdog
- Cliente de búsqueda DNS (mejordig
)
- Productividad
browsh
- Navegador web CLIbuku
- Gestor de marcadorescmus
- Reproductor / navegador de músicacointop
- Seguimiento de precios criptoddgr
- Buscar en la web desde terminalmicro
- Editor de código (mejornano
)khal
- Cliente de Calendariomutt
- Cliente de Emailnewsboat
- Lector de noticias RSS / ATOMrclone
- Gestionar el almacenamiento en la nubetaskwarrior
- Todo + gestión de tareastuir
- Terminal UI para Reddit
- Dev Tools
- Servicios Externos
ngrok
- Proxy inverso para compartir localhosttmate
- Compartir una sesión de terminal a través de Internetasciinema
- Grabar y compartir sesiones de terminalnavi
- Hoja de trucos interactivatransfer.sh
- Intercambio rápido de archivossurge
- Despliegue un sitio en segundoswttr.in
- Compruebe el tiempo
- Divertidos
- Instalación y Gestión
- Conclusión
Utilidades
thefuck
- Autocorrección de comandos mal escritos
thefuck
es una de esas utilidades sin las que no podrás vivir una vez que la hayas probado. Siempre que escribas mal un comando y obtengas un error, simplemente ejecutafuck
y lo autocorregirá. Usa arriba/abajo para elegir una corrección, o simplemente ejecutafuck --yeah
para ejecutar inmediatamente la más probable.
Instalación
# macOS (vía Homebrew)
brew install thefuck
# Arch Linux
sudo pacman -S thefuck
# FreeBSD
pkg install thefuck
Ver thefuck en GitHub | Autor nvbn | Escrito en Python |
---|
zoxide
- Fácil navegación (mejor cd)
zoxide
te permite saltar a cualquier directorio sin necesidad de recordar o especificar su ruta completa. Recuerda los directorios que has visitado, para que puedas saltar rápidamente; ni siquiera necesitas escribir el nombre completo de la carpeta. También dispone de una opción de selección interactiva, mediantefzf
, que permite filtrar los resultados de los directorios en tiempo real.
Instalación
# macOS (vía Homebrew)
brew install zoxide
# Arch Linux
sudo pacman -S zoxide
# Debian / Ubuntu
sudo apt install zoxide
# FreeBSD
pkg install zoxide
# Otros (vía Rust Creates)
cargo install zoxide --locked
Ver zoxide en GitHub | Autor nvbn | Escrito en Rust |
---|
tldr
- Documentos mantenidos por la comunidad (mejor man
)
tldr
es una enorme colección de páginas de manual mantenidas por la comunidad. A diferencia de las páginas de manual tradicionales, están resumidas, contienen ejemplos de uso útiles y están coloreadas para facilitar la lectura.
Instalación
# macOS (vía Homebrew)
brew install tldr
# Otros (vía NPM)
npm install -g tldr
Ver tldr en GitHub | Autor tldr-pages |
---|
scc
- Contar líneas de código (mejor cloc
)
scc
te da un desglose del número de líneas de código Escrito en cada lenguaje para un directorio específico. También muestra algunas estadísticas divertidas, como el coste estimado de desarrollo e información sobre la complejidad. Es increíblemente rápido, muy preciso y tiene soporte para una amplia gama de lenguajes.
Instalación
# macOS (vía Homebrew)
brew install scc
# Otros (vía go)
go install github.com/boyter/scc/v3@latest
Ver scc en GitHub | Autor boyter-pages | Escrito en Go |
---|
exa
- Archivos de listado (mejor ls
)
exa
es un reemplazo moderno basado en Rust para el comandols
, para listar archivos. Puede mostrar iconos de tipo de archivo, colores, información de archivo/carpeta y tiene varios formatos de salida - árbol, cuadrícula o lista.
Instalación
# macOS (vía Homebrew)
brew install exa
# Arch Linux
sudo pacman -S exa
# Debian / Ubuntu
sudo apt install exa
Ver exa en GitHub | Autor boyter-pages | Escrito en Rust |
---|
duf
- Uso del disco (mejor df
)
duf
es genial para mostrar información sobre discos montados y comprobar el espacio libre. Produce una salida clara y colorida, e incluye opciones para ordenar y personalizar los resultados.
Instalación
# macOS (vía Homebrew)
brew install duf
# Arch Linux
sudo pacman -S duf
# Debian / Ubuntu
sudo apt install duf
# FreeBSD
pkg install duf
Ver duf en GitHub | Autor muesli | Escrito en Go |
---|
aria2
- Utilidad de descarga (mejor wget
)
aria2
es una utilidad ligera, multiprotocolo, de reanudación de descargas para HTTP/HTTPS, FTP, SFTP, BitTorrent y Metalink, con soporte para control a través de una interfaz RPC. Es increíblemente rico en funciones, y tiene toneladas de opciones. También existe ziahamza/webui-aria2 - un buen compañero de interfaz web.
Instalación
# macOS (vía Homebrew)
brew install aria2
# Arch Linux
sudo pacman -S aria2
# Debian / Ubuntu
sudo apt install aria2
Ver aria2 en GitHub | Autor aria2 | Escrito en C++ |
---|
bat
- Lectura de archivos (mejor cat
)
bat
es un clon decat
con resaltado de sintaxis e integración con git. Escrito en Rust, es muy performante, y tiene varias opciones para personalizar la salida y la tematización. Hay soporte para tuberías automáticas y concatenación de archivos.
Instalación
# macOS (vía Homebrew)
brew install bat
# Arch Linux
sudo pacman -S bat
# Debian / Ubuntu
sudo apt install bat
Ver bat en GitHub | Autor sharkdp | Escrito en Rust |
---|
diff-so-fancy
- Comparación de archivos (mejor diff
)
diff-so-fancy
le da un mejor aspecto a los diffs para comparar cadenas, archivos, directorios y cambios git. El resaltado de cambios hace que detectar los cambios sea mucho más fácil, y puedes personalizar el diseño y los colores de la salida.
Instalación
# macOS (vía Homebrew)
brew install diff-so-fancy
# Arch Linux
sudo pacman -S diff-so-fancy
# Debian / Ubuntu
sudo apt install diff-so-fancy
Ver diff so fancy en GitHub | Autor so-fancy | Escrito en Perl |
---|
entr
- Esté atento a los cambios
entr
le permite ejecutar un comando arbitrario cada vez que un archivo cambia. Puedes pasar un archivo, directorio, enlace simbólico o regex para especificar qué archivos debe vigilar. Es realmente útil para reconstruir proyectos automáticamente, reaccionar a logs, pruebas automatizadas, etc. A diferencia de otros proyectos similares, utiliza kqueue(2) o inotify(7) para evitar el sondeo y mejorar el rendimiento.
Instalación
# macOS (vía Homebrew)
brew install entr
# Arch Linux
sudo pacman -S entr
# Debian / Ubuntu
sudo apt install entr
Ver entr en GitHub | Autor entr | Escrito en C |
---|
exiftool
- Lectura y escritura de metadatos
exiftool
es una práctica utilidad para leer, escribir, eliminar y crear metainformación para una amplia variedad de tipos de archivos. No vuelva a filtrar accidentalmente su ubicación al compartir una foto.
Ver exiftool en GitHub | Autor exiftool | Escrito en Perl |
---|
fdupes
- Buscador de archivos duplicados
fdupes
se utiliza para identificar y/o eliminar archivos duplicados dentro de directorios especificados. Es útil para liberar espacio en disco cuando tiene dos o más archivos idénticos.
Ver jdupes en GitHub | Autor jbruchon | Escrito en C |
---|
fzf
- Buscador de archivos difuso (mejor find
)
fzf
es un buscador de archivos difusos y una herramienta de filtrado extremadamente potente y fácil de usar. También tiene plugins disponibles para la mayoría de los shells e IDEs, para mostrar resultados instantáneos durante la búsqueda. Este post de Alexey Samoshkin destaca algunos de sus casos de uso.
Instalación
# macOS (vía Homebrew)
brew install fzf
# Arch Linux
sudo pacman -S fzf
# Debian / Ubuntu
sudo apt install fzf
Ver fzf en GitHub | Autor junegunn | Escrito en Go |
---|
hyperfine
- Evaluación comparativa de mandos
hyperfine
facilita la evaluación comparativa precisa de comandos o scripts arbitrarios. Se encarga de las ejecuciones de calentamiento, de limpiar la caché para obtener resultados precisos y de evitar interferencias de otros programas. También puede exportar los resultados como datos sin procesar y generar gráficos.
Instalación
# macOS (vía Homebrew)
brew install hyperfine
# Arch Linux
sudo pacman -S hyperfine
# Debian / Ubuntu
sudo apt install hyperfine
Ver hyperfine en GitHub | Autor sharkdp | Escrito en Rust |
---|
just
- Corredor de comandos moderno (mejor make
)
just
es similar amake
pero con algunas buenas adiciones. Te permite agrupar los comandos de tus proyectos en recopilaciones, que pueden ser fácilmente listadas y ejecutadas. Soporta alias, argumentos posicionales, diferentes shells, integración dot env, interprulación de cadenas, y casi todo lo que puedas necesitar.
Instalación
# macOS (vía Homebrew)
brew install just
# Arch Linux
sudo pacman -S just
# Debian / Ubuntu
sudo apt install just
Ver just en GitHub | Autor casey | Escrito en Rust |
---|
jq
- Procesador JSON
jq
es comosed
, pero para JSON - puedes usarlo para cortar y filtrar y mapear y transformar datos estructurados con facilidad. Se puede utilizar para escribir consultas complejas para extraer o manipular datos JSON. También hay un jq playground que puedes usar para probarlo, o formular consultas con información en tiempo real.
Ver jq en GitHub | Autor stedolan | Escrito en C |
---|
most
- Localizador de desplazamiento multiventana (mejor less)
most
es un paginador, para leer archivos largos o salidas de comandos.most
soporta multi-ventanas y tiene la opción de no ajustar el texto.
Autor Jed | Escrito en S-Lang |
---|
procs
- Visor de procesos (mejor ps)
procs
es un visor de procesos fácil de navegar, tiene resaltado de color, facilita la clasificación y búsqueda de procesos, tiene árbol Ver y se actualiza en tiempo real.
Ver procs en GitHub | Autor dalance | Escrito en Rust |
---|
rip
- Herramienta de borrado (mejor rm)
rip
es una herramienta de borrado segura, ergonómica y eficaz. Le permite eliminar archivos y directorios de forma intuitiva y restaurar fácilmente los archivos eliminados.
Ver rip en GitHub | Autor nivekuil | Escrito en Rust |
---|
ripgrep
- Búsqueda dentro de archivos (mejor grep
)
ripgrep
es una herramienta de búsqueda orientada a líneas que busca recursivamente un patrón regex en el directorio actual. Puede ignorar el contenido de.gitignore
y omitir archivos binarios. Es capaz de buscar dentro de archivos comprimidos, o sólo buscar en una extensión específica, y entiende los archivos que utilizan varios métodos de codificación
Ver ripgrep en GitHub | Autor BurntSushi | Escrito en Rust |
---|
rsync
- Transferencia rápida e incremental de archivos
rsync
te permite copiar archivos grandes localmente o desde o hacia hosts remotos o unidades externas. Puede utilizarse para mantener sincronizados archivos de varias ubicaciones y es perfecto para crear, actualizar y restaurar copias de seguridad.
Ver rsync en GitHub | Autor WayneD | Escrito en C |
---|
sd
- Buscar y reemplazar (mejor sed
)
sd
es una herramienta de búsqueda y reemplazo fácil, rápida e intuitiva, basada en literales de cadena. Puede ejecutarse sobre un fichero, un directorio entero o cualquier texto canalizado.
Ver sd en GitHub | Autor chmln | Escrito en Rust |
---|
tre
- Jerarquía de directorios (mejor tree
)
tre
muestra una lista de archivos en forma de árbol para tu directorio actual o uno especificado, con colores. Al ejecutarlo con la opción-e
, numera cada elemento y crea un alias temporal que puedes usar para saltar rápidamente a esa ubicación
Ver tre en GitHub | Autor dduan | Escrito en Rust |
---|
xsel
- Acceso al portapapeles
xsel
te permite leer y escribir en el portapapeles de selección X desde la línea de comandos. Es útil para enviar la salida de un comando al portapapeles o para pegar datos copiados en un comando.
Ver xsel en GitHub | Autor kfish | Escrito en C |
---|
Aplicaciones de monitorización y rendimiento
bandwhich
- Monitor de utilización de ancho de banda
Muestra el uso de ancho de banda, información de conexión, hosts salientes y consultas DNS en tiempo real
Ver bandwhich en GitHub | Autor imsnif | Escrito en Rust |
---|
ctop
- Métricas y monitoreo de contenedores
Como
top
, pero para monitorear el uso de recursos de contenedores en ejecución (Docker y runC). Muestra CPU, memoria y ancho de banda de red en tiempo real, así como el nombre, estado e ID de cada contenedor. También incluye un visor de logs integrado y opciones para gestionar (detener, iniciar, ejecutar, etc.) contenedores.
Ver ctop en GitHub | Autor bcicen | Escrito en Go |
---|
bpytop
- Monitoreo de recursos (mejor htop
)
bpytop
es un monitor de recursos rápido, interactivo y visual. Muestra los procesos principales en ejecución, el historial reciente de CPU, memoria, disco y red. Desde la interfaz puedes navegar, ordenar y buscar; también hay soporte para temas de color personalizados.
Ver bpytop en GitHub | Autor aristocratos | Escrito en Python |
---|
glances
- Monitor de recursos + web y API
glances
es otro monitor de recursos, pero con un conjunto de características diferente. Incluye una vista web totalmente responsiva, una API REST y monitoreo histórico. Es fácilmente extensible y puede integrarse con otros servicios.
Ver glances en GitHub | Autor nicolargo | Escrito en Python |
---|
gping
- Herramienta de ping interactiva (mejor ping
)
gping
puede ejecutar pruebas de ping en varios hosts, mostrando los resultados en un gráfico en tiempo real. También puede usarse para monitorear el tiempo de ejecución, cuando se usa con la opción--cmd
.
Ver gping en GitHub | Autor orf | Escrito en Rust |
---|
dua-cli
- Analizador y monitor de uso de disco (mejor du
)
dua-cli
te permite ver de forma interactiva el espacio usado y disponible en cada unidad montada, y facilita liberar almacenamiento.
Ver dua-cli en GitHub | Autor Byron | Escrito en Rust |
---|
speedtest-cli
- Utilidad de prueba de velocidad en línea de comandos
speedtest-cli
simplemente ejecuta una prueba de velocidad de internet, usando speedtest.net, pero directamente desde la terminal :)
Ver speedtest-cli en GitHub | Autor sivel | Escrito en Python |
---|
dog
- Cliente de búsqueda DNS (mejor dig
)
dog
es un cliente de búsqueda DNS fácil de usar, con soporte para DoT y DoH, salidas coloridas y la opción de emitir JSON.
Ver dog en GitHub | Autor ogham | Escrito en Rust |
---|
Productividad
Navega por la web, escucha música, revisa correos, gestiona calendarios, lee noticias y más, ¡todo sin salir de la terminal!
browsh
- Navegador web CLI
browsh
es un navegador de texto moderno, interactivo y en tiempo real, renderizado para TTYs y navegadores. Soporta navegación tanto con ratón como con teclado, y tiene muchas más funciones de lo que esperarías para una aplicación puramente de terminal. Además, ayuda a reducir el consumo de batería que afecta a los navegadores modernos y, con soporte para MoSH, puedes experimentar tiempos de carga más rápidos gracias al menor uso de ancho de banda.
Ver browsh en GitHub | Autor browsh-org | Escrito en JavaScript |
---|
buku
- Gestor de marcadores
buku
es un gestor de marcadores para terminal, con muchas opciones de configuración, almacenamiento y uso. También dispone de una interfaz web opcional y un plugin para navegador para acceder a tus marcadores fuera de la terminal.
Ver buku en GitHub | Autor jarun | Escrito en Python |
---|
cmus
- Reproductor / navegador de música
cmus
es un reproductor de música para terminal, controlado con atajos de teclado. Soporta una amplia gama de formatos y códecs de audio, y permite organizar pistas en listas de reproducción y aplicar configuraciones de reproducción.
Ver cmus en GitHub | Autor cmus | Escrito en C |
---|
cointop
- Seguimiento de precios cripto
cointop
muestra los precios actuales de criptomonedas y el historial de precios de tu portafolio. Soporta alertas de precio, gráficos históricos, conversión de divisas, búsqueda difusa y mucho más. Puedes probar la demo en la web cointop.sh o ejecutandossh cointop.sh
.
Ver cointop en GitHub | Autor cointop-sh | Escrito en Go |
---|
ddgr
- Buscar en la web desde terminal
ddgr
es como googler, pero para DuckDuckGo. Es rápido, limpio y fácil, con soporte para respuestas instantáneas, autocompletado, bangs de búsqueda y búsqueda avanzada. Respeta tu privacidad por defecto, también tiene soporte para proxy HTTPS y funciona con Tor.
Ver ddgr en GitHub | Autor jarun | Escrito en Python |
---|
micro
- Editor de código (mejor nano
)
micro
es un editor de código fácil de usar, rápido y extensible, con soporte para ratón. Como viene en un solo binario, la instalación es tan simple comocurl https://getmic.ro | bash
.
Ver micro en GitHub | Autor zyedidia | Escrito en Go |
---|
khal
- Cliente de Calendario
khal
es una aplicación de calendario para terminales, que muestra los próximos eventos, vistas del mes y de la agenda. Puedes sincronizarlo con cualquier calendario CalDAV, y añadir, editar y eliminar eventos directamente.
Ver khal en GitHub | Autor pimutils | Escrito en Python |
---|
mutt
- Cliente de Email
mutt
es un cliente de correo clásico, basado en terminal, para enviar, leer y gestionar correos electrónicos. Soporta todos los principales protocolos de correo electrónico y formatos de buzón, permite archivos adjuntos, CCO/CC, hilos, listas de correo y notificaciones de estado de entrega.
Ver mutt en GitHub | Autor muttmua | Escrito en C |
---|
newsboat
- Lector de noticias RSS / ATOM
newsboat
es un lector y agregador de feeds RSS, para leer las noticias, blogs y seguir las actualizaciones directamente desde el terminal.
Ver newsboat en GitHub | Autor newsboat | Escrito en C++ |
---|
rclone
- Gestionar el almacenamiento en la nube
rclone
es una práctica utilidad para sincronizar archivos y carpetas con varios proveedores de almacenamiento en la nube. Puede invocarse directamente desde la línea de comandos o integrarse fácilmente en un script como sustituto de las pesadas aplicaciones de sincronización de escritorio.
Ver rclone en GitHub | Escrito en Go |
---|
taskwarrior
- Todo + gestión de tareas
taskwarrior
es una aplicación CLI de gestión de tareas/todo. Es simple y discreta, pero también increíblemente potente y escalable, con funciones avanzadas de organización y consulta. También hay un montón (¡más de 700!) de [plugins] adicionales (https://taskwarrior.org/tools/) para ampliar su funcionalidad e integrarse con servicios de terceros.
Ver taskwarrior en GitHub | Autor GothenburgBitFactory | Escrito en C++ |
---|
tuir
- Terminal UI para Reddit
tuir
es genial si quieres parecer que estás trabajando, ¡mientras en realidad navegas por Reddit! Tiene combinaciones de teclas intuitivas, temas personalizados, y también puede renderizar imágenes y contenido multimedia. También está haxor para noticias de hackers.
Ver tuir on GitLab | Autor ajak | Escrito en Python |
---|
Dev Tools
httpie
- Cliente de pruebas HTTP / API
httpie
es un cliente HTTP, para pruebas, depuración y uso de APIs. Soporta todo lo que se puede esperar - HTTPS, proxies, autenticación, cabeceras personalizadas, sesiones persistentes, análisis JSON. El uso es simple con una sintaxis expresiva y salida coloreada. Al igual que otros clientes HTTP (Postman, Hopscotch, Insomnia, etc) HTTPie también incluye una interfaz web.
Ver httpie en GitHub | Autor httpie | Escrito en Python |
---|
lazydocker
- Aplicación completa de gestión de Docker
lazydocker
es una aplicación de gestión de Docker, que te permite Ver todos los contenedores e imágenes, gestionar su estado, leer registros, comprobar el uso de recursos, reiniciar/reconstruir, analizar capas, podar contenedores, imágenes y volúmenes no utilizados, y mucho más. Te ahorra la necesidad de recordar, escribir y encadenar múltiples comandos Docker.
Ver lazydocker en GitHub | Autor jesseduffield | Escrito en Go |
---|
lazygit
- Aplicación completa de gestión Git
lazygit
es un cliente git visual, en la línea de comandos. Fácilmente añadir, confirmar y puch archivos, resolver conflictos, comparar diffs, gestión de registros, y hacer operaciones complejas como aplasta y rebobina. Hay combinaciones de teclas para todo, colores, y es fácilmente configurable y ampliable.
Ver lazygit en GitHub | Autor jesseduffield | Escrito en Go |
---|
kdash
- Aplicación del panel de control de Kubernetes
kdash
es una herramienta de gestión de Kubernetes todo en uno. Ver métricas de nodo, ver recursos, transmitir registros de contenedor, analizar contextos y gestionar nodos, pods y espacios de nombres.
Ver kdash en GitHub | Autor kdash-rs | Escrito en Rust |
---|
gdb-dashboard
- Depurador Visual de GDB
gdb-dashboard
añade un elemento visual al depurador de GNU, para depurar programas C y C++. Analiza fácilmente la memoria, pasa por puntos de interrupción y registros Ver.
Ver gdb-dashboard en GitHub | Autor cyrus-and | Escrito en Python |
---|
Servicios Externos
ngrok
- Proxy inverso para compartir localhost
ngrok
de forma segura* expone tu localhost a internet detrás de una URL única. Esto te permite compartir lo que estás trabajando con tus colegas remotos, en tiempo real. El uso es muy simple, pero también tiene un montón de características avanzadas para cosas como la autenticación, webhooks, cortafuegos, inspección de tráfico, dominios personalizados / comodín y mucho más.
Ver ngrok en GitHub | Autor inconshreveable | Escrito en Go |
---|
tmate
- Compartir una sesión de terminal a través de Internet
tmate
te permite compartir instantáneamente una sesión de terminal en vivo con alguien en otra parte del mundo. Funciona a través de diferentes sistemas, soporta control de acceso / auth, puede ser auto-alojado, y tiene todas las características de Tmux
Ver tmate en GitHub | Autor tmate-io | Escrito en C |
---|
asciinema
- Grabar y compartir sesiones de terminal
asciinema
es muy útil para grabar, compartir e incrustar fácilmente una sesión de terminal. Ideal para mostrar algo que has construido, o para mostrar los pasos de línea de comandos para un tutorial. A diferencia de los vídeos de grabación de pantalla, el usuario puede copiar y pegar el contenido, cambiar el tema sobre la marcha y controlar la reproducción.
Ver asciinema en GitHub | Autor asciinema | Escrito en Python |
---|
navi
- Hoja de trucos interactiva
navi
permite navegar por las hojas de trucos y ejecutar comandos. Los valores sugeridos para los argumentos se muestran dinámicamente en una lista. Escribe menos, reduce los errores y ahórrate tener que memorizar miles de comandos. Se integra con tldr y cheat.sh para obtener contenido, pero también puedes importar otras cheatsheets, o incluso escribir las tuyas propias.
Ver navi en GitHub | Autor denisidoro | Escrito en Rust |
---|
transfer.sh
- Intercambio rápido de archivos
transfer
hace que subir y compartir archivos sea realmente fácil, directamente desde la línea de comandos. Es gratis, soporta encriptación, te da una URL única, y también puede ser auto-alojado. He escrito una función de ayuda Bash para hacer el uso un poco más fácil, puedes encontrarla aquí o probarla ejecutandobash <(curl -L -s https://alicia.url.lol/transfer)
.
Ver transfer.sh en GitHub | Autor dutchcoders | Escrito en Go |
---|
surge
- Despliegue un sitio en segundos
surge
es un proveedor de alojamiento estático gratuito, que puedes desplegar directamente desde el terminal en un solo comando, ¡sólo ejecutasurge
desde dentro de tu directoriodist
! Soporta dominios personalizados, certificados SSL automáticos, soporte pushState, soporte de recursos cross-origin - ¡y es gratis!
wttr.in
- Compruebe el tiempo
wttr.in
es un servicio que muestra el tiempo en un formato digerible en la línea de comandos. Sólo tienes que ejecutarcurl wttr.in
ocurl wttr.in/London
para probarlo. Hay parámetros de URL para personalizar los datos devueltos, así como el formato.
Ver wttr.in en GitHub | Autor chubin | Escrito en Python |
---|
Divertidos
cowsay
- Haz que una vaca ASCII diga tu mensaje
cowsay
es una vaca parlante configurable. Está basado en el original de Tony Monroe
Ver cowsay en GitHub | Autor piuccio | Escrito en JavaScript |
---|
figlet
- Texto de salida como texto de arte ASCII grande
figlet
muestra el texto como arte ASCII
Ver figlet en GitHub | Autor cmatsuoka | Escrito en C |
---|
lolcat
- Haz que la salida de la consola tenga los colores del arco iris
lolcat
colorea de arco iris cualquier texto que se le pase
Ver lolcat en GitHub | Autor busyloop | Escrito en Ruby |
---|
neofetch
- Mostrar datos del sistema e información de la distribución
neofetch
imprime información de la distro y del sistema (para que puedas flexionar que usas Arch btw en r/unixporn)
Ver neofetch en GitHub | Autor dylanaraps | Escrito en Bash |
---|
Como ejemplo, estoy usando cowsay
, figlet
, lolcat
y neofetch
para crear un MOTD personalizado basado en el tiempo que se muestra al usuario cuando se conecta por primera vez. Les saluda por su nombre, muestra información del servidor y la hora, fecha, tiempo e IP. Aquí está el código fuente.
Instalación y Gestión
La mayoría de nosotros tenemos un conjunto básico de aplicaciones y utilidades CLI en las que confiamos. Configurar una nueva máquina e instalar cada programa individualmente sería muy tedioso. Por eso, la tarea de instalar y actualizar tus apps de terminal es perfecta para automatizar. Aquí tienes algunos scripts de ejemplo que he escrito, que puedes añadir fácilmente a tus dotfiles o ejecutar de forma independiente para asegurarte de que nunca te falte una app.
Para usuarios de macOS, el método más sencillo es usar Homebrew. Solo tienes que crear un Brewfile (con touch ~/.Brewfile
), luego listar cada una de tus apps y ejecutar brew bundle
. Puedes mantener tu lista de paquetes respaldada poniéndola en un repositorio Git. Aquí tienes un ejemplo para empezar: https://github.com/Lissy93/Brewfile
En Linux, normalmente querrás usar el gestor de paquetes nativo (por ejemplo, pacman
, apt
). Por ejemplo, aquí tienes un script para instalar las apps anteriores en sistemas Arch Linux.
Las aplicaciones de escritorio en Linux pueden gestionarse de forma similar, usando Flatpak. De nuevo, aquí tienes un script de ejemplo :)
Conclusión
Y eso es todo: una lista de útiles aplicaciones CLI y un método para instalarlas y mantenerlas actualizadas en todos tus sistemas.
Espero que algunas de estas te sean útiles :)
¡Me encantaría saber cuáles son tus aplicaciones CLI favoritas! Déjalo en los comentarios abajo.
Información adicional
Qué no se incluyó
- Esta lista no incluye lo básico, como Vim, Tmux, Ranger, ZSH, Git, etc., que probablemente ya usas
- Tampoco he incluido nada demasiado específico o solo relevante para pocos usuarios
- No se incluye nada específico de un sistema o que no sea multiplataforma (Linux/Unix, macOS)
- Tampoco apps relacionadas con la terminal pero que no sean CLI (como emuladores de terminal)
- Para la mayoría de los proyectos listados, hay muchas alternativas que logran cosas similares; por brevedad, esas tampoco se incluyeron
Créditos
Un gran reconocimiento a los autores y comunidades detrás de cada una de estas apps. Sin ellos y su trabajo, nuestra vida en la línea de comandos sería mucho menos genial. Donde ha sido posible, he intentado dar crédito a los autores, pero si me he olvidado de alguno, avísame abajo y haré una actualización.
Comentarios
¿Qué me he perdido? Me encantaría conocer tus aplicaciones CLI favoritas, ¡especialmente si hay alguna increíble que no he incluido!
También me gustaría conocer tus opiniones y sugerencias; siempre busco mejorar :)
Más información
Si te ha gustado esto, te recomiendo que eches un vistazo también a:
- terminals-are-sexy por Nikolaos Kamarinakis
- awesome-shell por Caleb Xu
- awesome-cli-apps por Adam Garrett-Harris
Si eres nuevo en la línea de comandos, The Art of Command Line, de Joshua Levy, es un recurso excelente, al igual que Bash Guide, de Adnan Ahmed.
Y si buscas inspiración, te encantará r/unixporn ⚡
La versión original de este artículo se puede encontrar en dev.to/lissy93 (inglés).
Autoría por Alicia Sykes, traducción por @elflacodeit, formateo y revisión por @axelvf