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= # bashAviso
Verás a menudo
echo $SHELLpara esto, pero no es lo mismo.$SHELLguarda 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 escribesbashpara entrar en Bash,$SHELLseguirá diciendo zsh.
$$es el número (PID) de la shell actual, así queps -p $$pregunta directamente por el proceso en el que estás.
Saber dónde estás
pwd(print working directory) dice en qué directorio estás.ls(list) muestra lo que hay en él.
Con opciones:
ls -len formato largo: permisos, propietario, tamaño y fecha.ls -aincluye los archivos ocultos, que en Linux son los que empiezan por punto (.bashrc).ls -lhcomo-l, pero con el tamaño en unidades legibles (4,0K,2,3M) en vez de en bytes.ls -lalas dos cosas: largo y con ocultos.
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/- Si solo hay una posibilidad, la completa entera.
- Si hay varias, pulsa TAB dos veces y te las lista todas.
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. PulsaCtrl + R, escribe un trozo de un comando que usaste hace días y aparece entero. Vuelve a pulsarCtrl + Rpara 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/DocsOtros 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
clearno 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- El comando es lo que quieres ejecutar
(
ls). - Las opciones cambian su comportamiento y suelen
empezar por guion (
-l). Las cortas se pueden juntar:-l -aes lo mismo que-la. - Los argumentos son los datos sobre los que actúa (un archivo, una carpeta).
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 -hEl comando man abre el manual de usuario completo de un
comando.
man lsAviso
En Git Bash para Windows
manno 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 consudo 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/palabray 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
En la terminal, muestra el directorio en el que estás ahora.
Cambia al directorio Documentos (o Documents) de tu sistema.
Vuelve al mismo directorio (Documentos o Documents), pero esta vez usando una ruta absoluta completa.
Sube un nivel en la jerarquía de directorios.
Lista el contenido del directorio actual en formato simple, luego largo y finalmente incluyendo archivos ocultos.
Consulta el manual de algún comando.
Consulta la ayuda de algún comando.
Muestra tu nombre de usuario, la fecha y la hora actuales y el calendario de este mes.
Regresa al directorio donde comenzaste en el primer ejercicio.
Limpia la pantalla.
Escribe
cd Docy pulsa TAB. ¿Qué pasa? Ahora escribe solocd Dy pulsa TAB dos veces.Muévete a dos carpetas alejadas entre sí y usa
cd -para ir y venir entre ellas.Pulsa
Ctrl + Ry escribels. Localiza unlsque hayas escrito antes y ejecútalo desde ahí.Escribe un comando largo sin ejecutarlo y practica:
Ctrl + Apara ir al principio,Ctrl + Eal final yCtrl + Upara borrarlo entero.