Guía de comandos básicos de Bash y cómo usarlos (cd, ls, echo, etc.)
En los artículos anteriores, ya hemos preparado un entorno donde Bash funciona (ya sea la terminal de macOS o WSL en Windows). ¡Ha llegado el momento de adentrarse de lleno en el mundo de Bash! ¿Alguna vez has soñado con ser como un "hacker", controlando el ordenador a tu antojo tecleando comandos? Los comandos básicos que aprenderás hoy son el primer paso hacia ese sueño.
En este artículo, nos centraremos en los comandos básicos verdaderamente importantes que se usan a diario en el desarrollo web, explicando su significado y uso uno por uno de forma detallada. Al igual que un cocinero aprende a usar sus cuchillos, dominar estas herramientas básicas primero te abrirá la puerta a todo tipo de técnicas avanzadas. Cada comando viene con un ejemplo que puedes copiar y pegar directamente para ejecutarlo. ¡Te animamos a que te ensucies las manos en tu terminal y te familiarices con las operaciones de comandos!
1. Comandos de navegación - Conviértete en un explorador de sistemas de archivos
La base de las operaciones en la terminal es, primero, saber "dónde estás" y, segundo, "moverte a tu destino". Estos comandos son tus "pies" en el mundo de la CUI.
pwd - Comprobar tu ubicación actual
pwd (Print Working Directory) muestra la ruta absoluta (la ubicación completa desde la raíz) del directorio en el que te encuentras actualmente. Como mirar una brújula cuando te pierdes en el bosque, si te pierdes en la terminal, escribe primero pwd.
$ pwd
/Users/yourname/Documents/Projects
cd - Moverse de directorio
cd (Change Directory) es, como su nombre indica, el comando para moverse a un directorio (carpeta) diferente.
Entrar en una carpeta específica:
$ cd website-v1
Volver al nivel superior:
$ cd ..
Volver a tu directorio de inicio en un instante:
$ cd
Es lo mismo que escribir cd ~. No importa cuán profundo te encuentres en la estructura de directorios, este comando te llevará de vuelta a casa de un solo golpe.
2. Comandos para listar - Echando un vistazo a tu alrededor
Una vez que has llegado a tu destino, lo siguiente que querrás saber es qué hay allí. El comando ls actúa como tus "ojos", informándote de tu entorno.
ls - Listar archivos y carpetas
Ejecutar ls (List) por sí solo mostrará una lista de los nombres de los archivos y carpetas en el directorio actual.
$ ls
css images index.html js
Personalizar la visualización con opciones
ls se puede cambiar a varios modos de visualización añadiendo "opciones".
Mostrar información detallada (-l):
$ ls -l
total 8
drwxr-xr-x 2 user staff 64 Jul 6 10:00 css
drwxr-xr-x 3 user staff 96 Jul 6 10:00 images
-rw-r--r-- 1 user staff 512 Jul 6 10:01 index.html
drwxr-xr-x 2 user staff 64 Jul 6 10:00 js
Puedes ver información detallada como permisos, propietario, tamaño del archivo y fecha de modificación.
Mostrar todos los archivos, incluidos los ocultos (-a):
Esto también muestra "archivos ocultos" que comienzan con un punto, como .htaccess.
$ ls -a
. .. .htaccess css images index.html js
. es un símbolo especial que se refiere al directorio actual, y .. se refiere al directorio padre.
Las opciones se pueden combinar:
$ ls -al
3. Comandos de creación y manipulación - Transforma tu mundo
Ahora que puedes moverte y comprobar tu entorno, intentemos crear, copiar, renombrar y eliminar archivos y carpetas. Estas son tus "manos" en el mundo de la CUI.
mkdir - Crear una carpeta
mkdir (Make Directory) crea una nueva carpeta.
$ mkdir assets
touch - Crear un archivo vacío
El comando touch puede actualizar una marca de tiempo o, si el archivo no existe, crear uno vacío.
$ touch contact.html
cp - Copiar archivos o carpetas
cp (Copy) duplica archivos o carpetas.
Copiar un archivo:
$ cp index.html index_backup.html
Copiar una carpeta (requiere la opción -r):
$ cp -r css/ css_backup/
mv - Mover o renombrar archivos y carpetas
mv (Move) mueve archivos y carpetas. También se usa para renombrar.
Mover un archivo:
$ mv contact.html pages/
Renombrar un archivo (piensa en ello como moverlo al mismo lugar con un nombre diferente):
$ mv index_backup.html index_old.html
rm - Eliminar archivos o carpetas
rm (Remove) es el comando para eliminar. 【¡Súper, súper importante!】 A diferencia de la papelera de reciclaje de la GUI, todo lo que se elimina con rm se va para siempre y no se puede recuperar. Antes de ejecutarlo, respira hondo y sé tan cauteloso como para señalar con el dedo el archivo y confirmar que es el correcto.
Eliminar un archivo:
$ rm index_old.html
Eliminar una carpeta (requiere la opción -r):
$ rm -r css_backup/
4. Comandos para ver el contenido de los archivos
Finalmente, vamos a presentar algunos comandos para comprobar el contenido de los archivos. Esta es una habilidad esencial para la administración de servidores, como la comprobación de logs.
cat - Mostrar un archivo entero de una vez
cat es útil cuando quieres comprobar rápidamente el contenido de un archivo corto.
$ cat index.html
less - Ver archivos largos desplazándose
less es extremadamente útil para ver archivos largos como los de log. Puedes desplazarte con las teclas de flecha arriba y abajo y pulsar la tecla q para salir.
$ less /var/log/apache2/access_log
head / tail - Ver solo el principio o el final de un archivo
head muestra la parte inicial de un archivo, y tail muestra la parte final. Se usan con frecuencia cuando quieres comprobar los logs más recientes, por ejemplo.
$ tail -n 20 access_log
-n 20 significa "mostrar las últimas 20 líneas".
Resumen
¡Buen trabajo! Esta vez, hemos dado un rápido recorrido por el conjunto de comandos básicos que son inevitables al usar Bash. Aunque cada comando es simple, combinarlos permite un trabajo mucho más rápido y eficiente de lo que podrías imaginar con una GUI.
La forma más rápida de asimilar lo que has aprendido hoy es hacer intencionadamente en la terminal las tareas sencillas que normalmente haces con la GUI. Incluso para operaciones simples como "crear una nueva carpeta y copiar un archivo en ella", adquirir el hábito de ejecutarlas con comandos ayudará a que tus dedos las recuerden de forma natural.
Con esto, has aprendido el "vocabulario" básico del lenguaje Bash. El siguiente paso es combinar estas palabras para formar "frases", es decir, el mundo de los scripts de Bash. ¡En el próximo artículo, aprenderemos a escribir scripts de automatización sencillos y exploraremos formas de hacer tu trabajo aún más fácil!
Introducción a los scripts de Bash: Ejemplos de scripts de automatización sencillos para empezar