10 comandos de terminal que todo desarrollador web debe conocer

El terminal es una de las herramientas más productivas e importantes en el kit de un desarrollador. Dominarla afecta positivamente en tu productividad, ya que muchas tareas cotidianas se reducen a escribir un simple comando y pulsar Enter.

En este artículo hemos compilado una colección de comandos Unix que te ayudarán a aprovechar al máximo tu terminal. Algunos de ellos vienen ya integrados y otros son de herramientas gratuitas que se pueden instalar en menos de un minuto.

Curl

Curl es una herramienta de línea de comandos para realizar solicitudes a través de HTTP(s), FTP y docenas de protocolos de los cuales no hayas oído ni hablar. Mediante esta herramienta podrás descargar ficheros, comprobar cabeceras y acceder sin ningún problema a archivos remotos.

En desarrollo web, se suele utilizar curl muy a menudo para testear conexiones y trabajar con APIs RESTful.

# Fetch the headers of a URL.
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.

Los comandos de curl se pueden complicar mucho más que este ejemplo. Cuenta con cientos de opciones para controlar cabeceras, cookies, autenticaciones y mucho más...

Tree

Tree es una pequeña utilidad de línea de comenados que muestra una representación visual de los archivos de un directorio. Funciona de manera recursiva, recorriendo cada uno de los niveles y pintando cada uno de los elementos que componen el árbol de contenidos. De esta manera podrás consultar rápidamente la estructura de un proyecto y encontrar lo que estás buscando en un pis pas.

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 tiene una opción para filtrar los resultados utilizando expresiones regulares.

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

Tmux

De acuerdo a su wiki, Tmux es un terminal multiplexer, que en cristiano sería algo así como una herramienta para conectar multiples terminales a una única sesión de terminal.

Te permite alternar entre programas en un terminal, agregar paneles divididos y conectar varios terminales a una misma sesión, manteniéndolos organizados. Tmux es especialmente útil si sobre todo trabajas cuando trabajas en un servidor remoto, ya que te permite crear nuevas pestañas sin tener que volver a iniciar sesión.

Du

El comando du genera informes sobre el uso del espacio de archivos y directorios. Es muy fácil de utilizar y funciona recursivamente, recorriendo cada subdirectorio y devolviendo el tamaño de cada uno de los archivos.

Una tarea muy habitual con du es cuando una de tus unidades se está quedando sin espacio y no sabes por qué. Usando este comando puedes ver rápidamente cuánto espacio ocupa cada carpeta, para encontrar así cuál es la carpeta que más ocupa en tu memoria.

# Running this will show the space usage of each folder in the current directory.
# The -h option makes the report easier to read.
# -s prevents recursiveness and shows the total size of a folder.
# The star wildcard (*) will run du on each file/folder in current directory.

du -sh *

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

Hay un comando similar llamado df que devuelve información sobre el espacio disponible en el disco (es decir, lo contrario a du).

Git

Git es de lejos el sistema de control de versiones más popular en este momento. Es una de las herramientas definitivas del desarrollo web moderno y no podemos dejarlo fuera de esta lista.

Existen un montón de aplicaciones de terceros y herramientas, pero la mayoría preferimos acceder a git nativamente a través del terminal. El git CLI es realmente poderoso y puede gestionar incluso la historia del proyecto más complejo.

Tar

Tar es la herramienta Unix por defecto para trabajar con archivos. Te permite agrupar rápidamente varios archivos en un único paquete, lo que facilita su almacenamiento y traslado más adelante.

tar -cf archive.tar file1 file2 file3

Usando la opción -x también puedes extraer archivos .tar.

tar -xf archive.tar

Ten en cuenta que la mayoría de otros formatos como .zip y .rar no se pueden abrir con tar y requieren otros comandos como unzip.

Muchos sistemas Unix modernos ejecutan una versión expandida de tar (GNU tar) que también pueden comprimir el tamaño del archivo:

# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2

# Extract .gz archive.
tar -xzf file.tar.gz

Si tu sistema operativo no cuenta con esa versión de tar, puedes utilizar gzip, zcat o compress para reducir el tamaño de los archivos.

md5sum

Unix cuenta con varios comandos hash, incluyendo md5sum, sha1sum y otros. Estas herramientas de línea de comandos tienen varias aplicaciones en la programación, pero lo más importante es que pueden utilizarse para comprobar la integridad de los archivos.

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

md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

Htop

Htop es una alternativa muy potente al administrador de tareas que viene incorporado. Te proporciona una interfaz avanzada con muchas opciones para supervisar y controlar los procesos del sistema.

Aunque funciona en el terminal, htop cuenta con soporte para controles de ratón. Esto hace que sea muy sencillo el hecho de navegar por los menús, seleccionar procesos y organizar tareas clasificándolas y filtrándolas.

SSH

Con el comando ssh los usuarios pueden conectarse rápidamente a un host remoto e iniciar sesión en su shell Unix. Esto hace posible emitir comandos convenientemente en el servidor directamente desde el terminal de su máquina local.

Para establecer una conexión sólo tienes que especificar la dirección IP o la url. La primera vez que te conectes a un nuevo servidor te tendrás que autenticar.

ssh [email protected]_host

Si desea ejecutar un comando en el servidor sin iniciar sesión, simplemente puedes agregar un comando después de la url. El comando se ejecutará en el servidor y se devolverá el resultado.

ssh [email protected]_host ls /var/www

some-website.com
some-other-website.com

Puedes hacer mucho más con SSH como crear proxies y túneles, asegurar tu conexión con claves privadas, transferir archivos y mucho más.

Alias

Muchos comandos de Unix, incluyendo algunos de los presentados en este artículo, tienden a ser bastante largos después de agregar todas sus opciones. Para recordarlos más facilmente, puedes crear alias cortos con el comando alias:

# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000"

# Instead of typing the whole command simply use the alias.
server 

Serving HTTP on 0.0.0.0 port 9000 ...

El alias estará disponible siempre y cuando mantengas abierto ese terminal. Para que sea para siempre, puedes agregar el comando alias al archivo .bashrc.

Fuente: tutorialzine.com

Guardar

COMPARTE ESTE ARTÍCULO

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