detomas.net Curso de Bash desde cero
Descargar PDF

Curso de Bash desde cero / Capítulo 2

Bash primeros pasos

Hola mundo

Primer comando en Bash: echo imprime texto en pantalla.

echo "Hola, BASH"

Para saber qué shell estás usando:

ps -p $$ -o comm= # bash

Aviso

Verás a menudo echo $SHELL para esto, pero no es lo mismo. $SHELL guarda la shell que tienes configurada como predeterminada al iniciar sesión, no la que estás ejecutando ahora mismo. Si tu shell por defecto es zsh y escribes bash para entrar en Bash, $SHELL seguirá diciendo zsh.

$$ es el número (PID) de la shell actual, así que ps -p $$ pregunta directamente por el proceso en el que estás.

Saber dónde estás

Con opciones:

Moverse: cd

cd (change directory) cambia de directorio.

Comando A dónde va
cd carpeta Entra en esa carpeta (tiene que estar aquí dentro)
cd carpeta/otra/otra Baja varios niveles de una vez
cd .. Sube un nivel, al directorio que contiene a este
cd ../.. Sube dos niveles
cd ~ A tu directorio personal (home)
cd a secas Lo mismo que cd ~
cd - Al último directorio en el que estuviste
cd / A la raíz del sistema

Consejo

cd - es de los atajos más cómodos que hay: alterna entre dos directorios como el botón «atrás» del navegador. Si estás yendo y viniendo entre dos carpetas lejanas, te ahorra escribir la ruta entera cada vez.

El . (un punto) significa «el directorio actual» y el .. (dos puntos) «el directorio padre». Los verás por todas partes, no solo con cd.

El TAB es tu mejor amigo

Esto no es un detalle menor, es la costumbre que más tiempo te va a ahorrar. La tecla TAB completa automáticamente lo que estés escribiendo: nombres de comandos, de archivos y de directorios.

cd Docu      # pulsa TAB aquí y se completa solo: cd Documentos/

Además de ahorrar tiempo, evita erratas: si TAB no completa, es que ese archivo no se llama como tú creías, o no estás donde creías.

Atajos de teclado imprescindibles

La terminal tiene atajos que se usan constantemente. Estos son los que merece la pena memorizar desde el primer día:

Atajo Qué hace
Ctrl + C Corta el comando que se está ejecutando
Ctrl + L Limpia la pantalla (igual que clear, pero más rápido)
Ctrl + R Busca en el historial: empieza a escribir y va encontrando
Ctrl + A Lleva el cursor al principio de la línea
Ctrl + E Lleva el cursor al final de la línea
Ctrl + U Borra desde el cursor hasta el principio
Ctrl + K Borra desde el cursor hasta el final
Ctrl + W Borra la palabra anterior
Ctrl + D Cierra la sesión (equivale a exit)
/ Recorre los comandos anteriores

Consejo

Si te quedas con uno, que sea Ctrl + R. Pulsa Ctrl + R, escribe un trozo de un comando que usaste hace días y aparece entero. Vuelve a pulsar Ctrl + R para ir viendo coincidencias anteriores, y Enter para ejecutarlo.

Ruta absoluta y relativa

La ruta relativa hace referencia al directorio actual (pwd). No empieza por / y es más corta y práctica cuando sabes dónde estás.

La ruta absoluta indica la ubicación completa de un archivo o directorio en el sistema de archivos del sistema operativo. Siempre empieza por / para representar la raíz del sistema y no depende de dónde estés en ese momento.

Por ejemplo, este comando te llevaría a la ruta indicada independientemente de dónde te encuentres.

cd /home/user/Docs

Otros comandos básicos

Comando Qué muestra
whoami Tu nombre de usuario
date La fecha y la hora actuales
cal El calendario del mes
uptime Cuánto lleva encendido el sistema
hostname El nombre del equipo
uname -a Información del kernel y del sistema
clear Limpia la pantalla

Aviso

clear no borra nada: solo desplaza el contenido fuera de la vista. Puedes seguir subiendo con la rueda del ratón para ver lo anterior.

Anatomía de un comando

Todos los comandos siguen la misma estructura:

comando [opciones] [argumentos]
ls -l Documentos
  │  └─ argumento: sobre qué actúa
  └──── opción: cómo se comporta
└─────── comando: qué se ejecuta

Muchas opciones tienen una forma corta y otra larga que hacen lo mismo: -a y --all, -h y --human-readable. La larga se entiende mejor cuando la lees dentro de un script.

Ayuda y documentación

Un gran número de comandos y clientes de la terminal soportan la opción –help o -h para mostrar la ayuda.

ls --help
python --help
python -h

El comando man abre el manual de usuario completo de un comando.

man ls

Aviso

En Git Bash para Windows man no está disponible, porque no incluye las páginas del manual. En WSL/Ubuntu funciona con normalidad; si te dice que no encuentra la página, instálalas con sudo apt install man-db.

Consejo

Para salir del manual se pulsa q. Dentro se navega con las flechas o la barra espaciadora, y se busca escribiendo /palabra y pulsando Enter.

La diferencia entre las dos ayudas: --help te da un resumen rápido en pantalla, y man abre el manual completo, con todas las opciones explicadas y ejemplos al final. Cuando --help no te aclara algo, prueba con man.

Ejercicios

  1. En la terminal, muestra el directorio en el que estás ahora.

  2. Cambia al directorio Documentos (o Documents) de tu sistema.

  3. Vuelve al mismo directorio (Documentos o Documents), pero esta vez usando una ruta absoluta completa.

  4. Sube un nivel en la jerarquía de directorios.

  5. Lista el contenido del directorio actual en formato simple, luego largo y finalmente incluyendo archivos ocultos.

  6. Consulta el manual de algún comando.

  7. Consulta la ayuda de algún comando.

  8. Muestra tu nombre de usuario, la fecha y la hora actuales y el calendario de este mes.

  9. Regresa al directorio donde comenzaste en el primer ejercicio.

  10. Limpia la pantalla.

  11. Escribe cd Doc y pulsa TAB. ¿Qué pasa? Ahora escribe solo cd D y pulsa TAB dos veces.

  12. Muévete a dos carpetas alejadas entre sí y usa cd - para ir y venir entre ellas.

  13. Pulsa Ctrl + R y escribe ls. Localiza un ls que hayas escrito antes y ejecútalo desde ahí.

  14. Escribe un comando largo sin ejecutarlo y practica: Ctrl + A para ir al principio, Ctrl + E al final y Ctrl + U para borrarlo entero.