Apéndice B — Línea de comandos Linux/macOS
|
Objetivo del apéndice
El mínimo de shell que necesitas para seguir el libro: navegación, ficheros, pipes, procesos y permisos. |
Navegación
pwd # dónde estoy
ls # qué hay aquí
ls -la # con ocultos y detalles
cd /ruta # cambiar de directorio
cd - # volver al directorio anterior
cd ~ # ir al home
Ficheros
mkdir -p dir/sub # crear estructura
touch file.txt # crear/actualizar archivo
cp a.txt b.txt # copiar
mv a.txt dir/ # mover
rm file.txt # borrar
rm -rf dir # borrar recursivo (cuidado)
cat file.txt # imprimir
less file.txt # paginar
head -20 file.txt # primeras 20 líneas
tail -f file.txt # últimas líneas, sigue creciendo
Pipes y redirección
ls | grep .yaml # filtrar
cat file | sort | uniq # encadenar
echo "hola" > file.txt # sobreescribir
echo "adicional" >> file.txt # añadir
cmd 2>&1 # stderr a stdout
cmd > out.log 2>&1 # todo a un archivo
Procesos
ps aux | grep node # procesos de node
kill PID # terminar proceso (SIGTERM)
kill -9 PID # forzar (SIGKILL)
nohup cmd & # correr en background, inmune a hangup
jobs # trabajos del shell actual
fg %1 # traer a foreground
Permisos
chmod +x script.sh # hacer ejecutable
chmod 644 file # rw-r--r--
chmod 600 key.pem # rw------- (privado)
chown user:group file # cambiar dueño
SSH y claves
ssh-keygen -t ed25519 -C "tu@email.com" # crear clave
ssh-copy-id user@host # subir pública
ssh user@host # conectar
| Atajos del shell |
-
:code:`Ctrl+R` — buscar en el historial.
-
:code:`Ctrl+A/E` — inicio/fin de línea.
-
:code:`Ctrl+U/K` — borrar hasta inicio/fin de línea.
-
:code:`!!` — repetir último comando.
-
:code:`sudo !!` — repetir último comando con sudo.