Alternativas modernas de reemplazo a los comandos de Unix

Estas son algunas herramientas más modernas que sirven de reemplazo a algunos de los comandos más conocidos de sistemas Unix y derivados como sistemas GNU/Linux

Unix y GNU/Linux han evolucionado con el tiempo, así algunas herramientas fundamentales que conocemos y utilizamos en nuestras distribuciones se han quedado un poco desfasadas aunque siguen siendo actualizadas y funcionales al 100%.

Para muchas de esas herramientas o comandos algunas personas han creado alternativas con nuevas funcionalidades o reescritas en lenguajes más modernos que las hacen más rápidas. Como por ejemplo el caso de exa como reemplazo a ls.

Vamos a hacer un repaso de algunas de esas alternativas y si quieres incorporarlas en tu arsenal de útiles para la línea de comandos.

Este listado es una recopilación que puedes encontrar en este repositorio de GitHub:

Bat como reemplazo a cat

Cat es la conocida aplicación para mostrar el contenido de un archivo en la línea de comandos. Bat añade resaltado de sintaxis, integración con git y mejoras en la presentación del texto.

Exa como reemplazo a ls

ls nos muestra el contenido de la carpeta actual, mostrándonos los archivos y carpetas que contiene. Exa añade una salida coloreada, posibilidad de añadir iconos, una visualización más ordenada.

lsd como reemplazo a ls

También como reemplazo a ls, lsd está escrito en Rust y también añade colores para una visualización mejor de la salida.

Delta un visor para git y diff

Delta nos facilita el poder revisar las diferencias en un repositorio git, mostrándonos los cambios en varias vistas, resaltado de sintaxis, modificación rápida de los textos modificados y también escrito en Rust.

duf como reemplazo a df

df es una unitildad para conocer el uso de nuestro disco duro y saber cuanto nos queda de capacidad. duf está escrito en Go y también añade colores para una mejor visualización, se ajusta a nuestra terminal, podemos ordenar los resultados, etc.

broot como reemplazo a tree

Con tree se nos muestra en pantalla una vista jerárquica de nuestras carpetas y los archivos que continene. Broot escrito en Rust, nos muestra más información, más visual y podemos interactuar con esas carpetas.

fd como reemplazo a find

Con find podemos buscar un archivo en nuestro sistema. Fd escrito en Rust hace más sencilla la sintaxis de uso de esa búsqueda, es más rápido, añade colores para una mejor visualización, es iteligente en cuanto a mayúsculas y minúsculas entre otras funcionalidades.

ripgrep como reemplazo a grep

grep es el comando para buscar una cadena de texto dentro de un archivo. Ripgrep también escrito sobre todo en Rust hace una tarea similar pero más rápido, además de añadir otras funcionalidades.

ag como reemplazo a ack

ack es una herramienta de de búsqueda de código. Ag está escrito en C y enfocado en la rapidez.

fzf como herramienta multiusos para buscar

fzf es un “buscador difuso” que se integra con muchas herramientas y que sirve para buscar con unas pocas letras entre muchas opciones: procesos, archivos, historial de comandos…

También recomendar el artículo que le dedicó Lorenzo aka “atareao” en su indispensable blog:

McFly como buscador en el historial de comandos

El historial de comandos guarda todos los comandos que hemos ejecutado y con Ctrl-r podremos buscar. Pero McFly escrito sobre todo en Rust, va más allá y de entre las opciones prioriza en función de las búsquedas, etc.

Choose como reemplazo a cut y también a awk

Sin duda cut y awk son dos grandes herramientas a la hora de “diseccionar” partes de un texto en un listado. Pero estaréis conmigo que la sintaxis, sobre todo de awk, de uso es poco intuitiva. Choose quiere hacer que sea más sencillo el uso a la hora de tomar partes de texto.

sd como reemplazo a sed y awk

De nuevo una herramienta para facilitar el uso de sed y awk. Con sd será más sencillo encontrar y reemplazar texto por su uso intuitivo

tldr como reemplazo a las páginas man

Las páginas man son imprescindibles a la hora de llegar a dominar un comando… pero a veces es difícil encontrar lo que queremos. Para eso tldr va al meollo, resumiendo los comandos y dando prácticos ejemplos de algunas opciones. (y desde hace un tiempo he ido contribuyendo con algunas traducciones al español)

Diferentes herramientas como sustitutos de top

A la hora de ver los recursos que consumen los diferentes procesos en nuestro equipo top se ha quedado algo anticuado. En el blog ya pudiste leer hace tiempo un artículo que listaba varias de esas opciones, algunas muy interesantes:

gping como reemplazo a ping

Ping sin duda es una de esas herramientas que siempre hemos utilizado alguna vez para probar conexiones, configuraciones de red, si está vivo nuestro servidor u otros casos. Con gping, escrito en Rust, tenemos esas mismas funcionalidades pero representada la salida con un bonito gráfico.

zoxide (z) como reemplazo a cd

Creo que cd estaría en el top de comandos utilizados, es la herramienta para cambiar en una carpeta desde la terminal. Z hace lo mismo pero aprende de cómo lo usas y eso lo utiliza para tratar de ahorrarte trabajo, adivinando a dónde quieres ir y mostrándotelo.


Estas y algunas otras herramientas que se irán añadiendo al listado son las herramientas que vienen no sé si a sustituir a los conocidos comandos, pero sí quizás a hacerse imprescindibles en nuestros equipos una vez que las probemos.

¿Has probado alguna y te ha gustado? Comparte tus experiencias en los comentarios.

12 comentarios sobre “Alternativas modernas de reemplazo a los comandos de Unix

  1. No he utilizado ninguna. Pero de las “antiguas” citadas (que yo use) estoy demasiado acostumbrado a ellas para cambiar de terminología (sé que existe el comando alias para darle el mismo nombre). Creo que hasta que no vengan de serie sustituyendo a las “antiguas” no las usaré. Pero buena faena por el recopilatorio Víctor.

      1. Eres un diablo. Me dejastes con la duda y he puesto el exa de repos. Le hice un: alias ls1=’exa -labh –long’ Me gusta la cabecera que pone y esa opción que puedo poner de –tree.

      2. Resulta que hice un alias temporal. Para hacerlo persistente he tenido que meterlo en el ~/.bashrc. Depués hice: source ~/.bashrc para poder usarlo sin tener que reiniciar la sesión. Deseché la opción de crear ~/.bash_aliases ya que es el único alias que tengo.

  2. Yo los voy poniendo en ~/.alias, alias duf=’duf -all’, alias exa=’exa –long –header –icons –git’, lo dejo como exa porque me suena a examinar y también he metido los alias de zypper de ohmyzsh que son muy útiles, zse.zin,etc.
    Saludos.

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .