8 comandos del terminal que todo desarrollador web debe conocer

El terminal es una de las herramientas más importantes dentro del arsenal de un desarrollador. Ser un crack con el terminal puede ser bastante positivo en cuanto a productividad se refiere, ya que muchas tareas rutinarias se reducen a escribir un simple comando y presionar el botón Enter.

En este artículo, hemos compilado una colección de comandos de Unix que te ayudarán a exprimir al máximo tu terminal. Algunos de ellos vienen incorporados, otros son herramientas gratuitas que ya llevan tiempo entre nosotros y que puedes instalar en menos de un minuto.

Tree

Tree es un comando que es capaz de mostrar una representación visual de los archivos de un directorio. Funciona de forma recursiva, sobrepasando cada nivel de anidamiento y dibujando un árbol con formato de todos los contenidos. De esta manera, podrás echar un vistazo rápido y encontrar los archivos que estés buscando.

tree
.
├── css
│   ├── bootstrap.css
│   ├── bootstrap.min.css
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js
    ├── bootstrap.js
    └── bootstrap.min.js

También existe la opción de filtrar los resultados utilizando una expresión regular:

tree -P '*.min.*'
.
├── css
│   ├── bootstrap.min.css
├── fonts
└── js
    └── bootstrap.min.js

Curl

Curl es un comando para realizar solicitudes a través de HTTP(s), FTP y docenas de otros protocolos que quizás ni hayas escuchado hablar de ellos. Puede descargar archivos, verificar headers y acceder de forma sencilla a datos remotos.

En el desarrollo web, se usa a menudo Curl para probar conexiones y trabajar con APIs RESTful.

curl -I http://google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
Content-Length: 258
Date: Wed, 09 Aug 2017 11:24:01 GMT

# Make a GET request to a remote API.
curl http://numbersapi.com/random/trivia
29 is the number of days it takes Saturn to orbit the Sun.

Tmux

Según su Wiki, Tmux es un multiplexor de terminal, que traducido al lenguaje humano significaría que es una herramienta para conectar múltiples terminales a una sola sesión de terminal.

Te permite cambiar entre programas en unico terminal, añadir paneles de pantalla divididos y adjuntar múltiples terminales en una misma sesión, manteniéndolos sincronizados. Tmux es especialmente útil si trabajas desde un servidor remoto, ya que te deja crear nuevas pestañas sin tener que iniciar sesión otra vez.

Git

Git es, de largo, el sistema de control de versiones más popular actualmente. Es una de las herramientas más importantes de los desarrolladores web modernos y simplemente, no podíamos dejarla fuera de nuestra lista.

Cuenta con muchas aplicaciones y herramientas de terceros, pero la mayoría de desarrolladores prefieren acceder a git de forma nativa a través del terminal. El CLI de git es realmente poderoso.

md5sum

Unix cuenta con varios comandos hash incorporados que incluyen md5sum, sha1sum y otros. Estos comandos tienen varias aplicaciones en la programación, pero quizás la más importante es que se pueden utilizar para verificar la integridad de los archivos.

Por ejemplo, si has descargado un archivo .iso de una fuente no fiable, existe la posibilidad de que el archivo contenga scripts dañinos. Para asegurarte de que el archivo .iso sea seguro, puedes generar un md5 u otro hash a partir de él.

md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

Du

El comando du genera informes sobre el uso del espacio de archivos y directorios. Es muy fácil de usar y puede funcionar de forma recursiva, pasando por cada subdirectorio y devolviendo el tamaño individual de cada archivo.

Un caso en el que el comando du se suele utilizar bastante es para ver cuánto espacio libre le quedan a las unidades de un equipo. Mediante este comando, puedes ver rápidamente cuánto almacenamiento ocupa cada carpeta, y así encontrar el que más acumula memoria.

du -sh *

1.2G    Desktop
4.0K    Documents
40G     Downloads
4.0K    Music
4.9M    Pictures
844K    Public
4.0K    Templates
6.9M    Videos

Tar

Tar es la herramienta predeterminada de Unix para trabajar con archivos comprimidos. Te permite agrupar rápidamente varios archivos en un solo paquete, lo que facilita su almacenamiento y traslado.

tar -cf archive.tar file1 file2 file3

Usando la opción -x también puede extraer los archivos .tar existentes.

tar -xf archive.tar

Ten en cuenta que la mayoría de los otros formatos como .zip y .rar no pueden abrirse con tar y requieren de otras herramientas.

# Crear un archivo comprimido gzip
tar -czf file.tar.gz inputfile1 inputfile2

# Extraer el archivo gz
tar -xzf file.tar.gz

Grep

Grep es la utilidad estándar de Unix para encontrar cadenas dentro de texto. Toma una entrada en forma de archivo o transmisión directa, ejecuta su contenido a través de una expresión regular y devuelve todas las líneas correspondientes.

Este comando es útil cuando se trabaja con archivos grandes que necesitan ser filtrados. A continuación, usamos grep en combinación con el comando date para buscar en un archivo de registro grande y generar un nuevo archivo que contenga solo errores de hoy.

grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP