Nueve alternativas modernas a comandos clásicos de Linux

Inicia en el mundo de Microsoft .NET con estos cursos.

Existe una serie de utilidades para terminal que prácticamente cualquier equipo Linux incluye en su instalación predeterminada (y, muchas de las veces, incluso en su instalación mínima). Son fundamentales para el funcionamiento de otras herramientas y, de hecho, acompañan a Linux desde su mismo nacimiento, pues todas ellas nacieron años antes para sistemas Unix o compatibles (como los BSD).

Pero, en el transcurso del tiempo, han ido surgiendo alternativas que mejoran y/o simplifican a sus referentes más veteranos, y muchas de ellas ya se han ganado un espacio en el corazón de los amantes de Linux. Veamos algunas de las más destacadas:

Cat vs. Bat

Cat‘ (abreviatura de ‘concatenar’) es un comando que nos permite crear o fusionar archivos, o ‘imprimirlos’ en la salida estándar (mostrándolos en la terminal o redireccionándolos a otro fichero).

Por su parte, ‘bat‘ (que se define como ‘cat con alas’) suple a cat en todas sus funciones, añadiendo otras útiles como son el resaltado automático de sintaxis para un amplio número de lenguajes de programación y marcado, la integración con Git (destacando las modificaciones), la paginación automática o la opción de mostrar caracteres no imprimibles.


Cd vs. Zoxide (Z)

Posiblemente el comando más usado a la hora de trabajar con la terminal, ‘cd‘ (siglas en inglés de “cambiar de directorio”) hace exactamente eso, permitirnos ir cambiando de directorio (carpeta) para ejecutar los comandos pertinentes en cada uno.

Pero ¿y si ‘cd‘ realizara un seguimiento de los directorios que usamos con más frecuencia y recurriera a un algoritmo de clasificación para navegar hacia la mejor coincidencia, evitándonos tener que escribir una y otra vez complejas rutas? Pues entonces el programa se llamaría Zoxide y usaría ‘z’ como comando.

Diff vs. Diff-so-fancy

Diff‘ (abreviatura de “diferencia” en inglés) nos permite visualizar las diferencias entre dos archivos o dos directorios. Obviamente, es uno de los comandos más usados por desarrolladores, frecuentemente en combinación con Git, con el objetivo de conocer qué líneas de código han cambiado entre dos versiones de un mismo programa.

Sin embargo, una crítica habitual a ‘diff‘ es que parece más pensado para ser legible por máquinas que por personas; por eso, para poder reconocer mejor los cambios de un sólo vistazo, han lanzado ‘diff-so-fancy‘, que prescinde del uso de símbolos como ‘+’ y ‘-‘, y apuesta en su lugar por un resaltado de texto mejorado.

Du vs. Ncdu

Du‘ (siglas de ‘uso de disco‘ en inglés) es un comando que permite mostrar cuánto ocupan en el disco directorios y ficheros, permitiendo —según los argumentos que le estemos pasando al programa— saber cuáles son los que más ocupan. Así, si quisiéramos conocer los 5 directorios más ‘pesados’ y mostrarlos ordenados en pantalla con unidades legibles por humanos (MB, GB, etc) deberíamos escribir algo como lo siguiente:

du -hs * | sort -nr | head

Sin embargo, ‘ncdu‘ es una alternativa que no sólo nos muestra directamente la misma información que el complejo comando anterior, sino que la acompaña de gráficos de barras… y nos permite navegar entre los directorios para conocer, a su vez, el ‘peso’ de cada una de las carpetas que contienen. O borrarlas:

Find vs. Fd

Find‘ significa, literalmente, “encontrar” en inglés; y ése es exactamente su cometido, buscar archivos en el disco duro siguiendo los criterios que le proporcionamos (el nombre del fichero o parte del mismo, el nombre del usuario, el tamaño del fichero, etc).

Fd‘ no incluye tantas opciones y modificadores como ‘find‘, pero sí constituye una alternativa más sencilla al mismo en la mayoría de los casos. Así, por ejemplo, donde buscar cualquier fichero MP3 del directorio actual antes se escribía

$ find . -iname "*.mp3"

…ahora bastaría con un sencillo ‘fd .mp3’.

Ls (y Tree) vs. Exa

Ls‘ está, probablemente, cerca de ‘cd‘ en cuanto a frecuencia de uso por los usuarios de Linux. Su función es bien sencilla: listar los archivos y carpetas dentro de un directorio, el equivalente a abrir el mismo en el explorador de archivos. ‘Tree‘ sería el equivalente al panel de navegación de éste, mostrando todos los subdirectorios en formato árbol.

Pues bien, ‘Exa‘ ofrece las mismas funciones que ambos, pero haciendo uso de una salida coloreada que permite diferenciar de un vistazo carpetas de archivos, así como identificar permisos y usuarios propietarios, y muestra información extra si visualizamos repositorios Git, además de manejar fechas en formato estándar (y no en el anglosajón).

Para suplir las funciones de ‘tree‘, basta con usar

$ exa --tree

Man vs TLDR

Hoy en día es habitual buscar en Google información sobre el modo de usar cualquier programa con el que no estemos familiarizados, pero en su momento, en los comienzos de Unix, no existían ni Google, ni Internet, por lo que la documentación de cada programa se instalaba junto al mismo y era (y es) consultable usando el comando ‘man‘ (de ‘manual’).

El problema de ‘man‘ es que el usuario primerizo que recurre al mismo ve cómo le suelta una parrafada enorme con todas las opciones detalladas del programa consultado, y eso no siempre resulta útil. En muchos casos, más que un manual necesitamos una chuleta, y eso es lo que nos ofrece ‘tldr‘: versiones resumidas de los manuales de cada comando, centradas en mostrarnos ejemplos prácticos y sencillo.

Sed vs Sd

Sed‘ es la abreviatura de ‘Stream Editor‘, y se trata de un procesador de texto en el sentido más tradicional del término: los argumentos que le pasemos al comando nos permitirán transformar el contenido de uno o varios archivos de texto, permitiéndonos —por ejemplo— cortar texto o reemplazarlo de acuerdo a determinados criterios.

Sd‘ es capaz de hacer la mayoría de las cosas que hace ‘Sed‘, pero las hace mucho más sencillas. En parte, gracias a que la sintaxis para expresiones regulares que usa es la misma que podemos encontrar en JavaScript, mucho más sencilla que la de ‘sed‘ y ‘awk‘. Así, por ejemplo, dos comandos como:

$ sed s/before/after/g

$ sed ':a;N;$!ba;s/\n/,/g'

Se transforman en:

$ sd before after

$ sd: sd '\n' ','

Top vs. Htop

Top‘ es un comando que ofrece un conjunto de estadísticas (actualizadas cada pocos segundos) sobre el uso de nuestro sistema: memoria RAM y SWAP, uso de la CPU, y —sobre todo— sobre los procesos más activos a la hora de usar dichos recursos. ‘Htop‘ es muy similar, sólo que mejor: visualización coloreada, ‘maquetación’ de los datos más legible, uso de gráficos, etc.

Genbeta

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas