Comandos de Linux que hay que saberse de memoria
Cuarenta comandos; con los veinte marcados «básicos» uno se defiende en cualquier parte.
Copiar
cp -r para una carpeta entera; cp -a conserva además permisos y fechas.
Conectarse a una máquina
ssh usuario@servidor, con -i para indicar una clave que no sea la de siempre.
Mover o renombrar
mv sirve para ambas cosas: renombrar no es más que mover a otro nombre.
Seguir un registro en directo
tail -f archivo.log va sacando las líneas según van llegando.
Borrar
rm -r para una carpeta. Aquí no hay papelera: lo que se va no vuelve.
Listar una carpeta
ls -lh para tamaños legibles; ls -la enseña además los archivos ocultos.
Manejar un servicio
systemctl status, start, restart. El status explica además por qué ha fallado.
Mostrar un archivo
cat para los cortos. A partir de veinte líneas, less presta mejor servicio.
Leer un archivo largo
less no suelta la navegación, y la barra busca dentro del propio archivo.
Buscar dentro de los archivos
grep -rn "patrón" . da el archivo y la línea, cosa que grep a secas no hace.
Encontrar un archivo
find . -name "*.log" -mtime -7: por nombre y modificado en la última semana.
Leer el manual
man comando, y sobre todo la barra y el término para saltar a la opción.
Ejecutar como administrador
sudo para un comando; sudo -i abre un shell entero cuando quedan diez por delante.
Cambiar de carpeta
cd sin argumentos vuelve a la carpeta personal; cd - a la anterior.
Ver los procesos
ps aux da la foto fija; una tubería a grep encuentra el proceso que interesa.
Detener un proceso
kill lo pide por las buenas, kill -9 no lo pide. Primero el educado.
Saber dónde se está
pwd imprime la ruta absoluta: el comando que desactiva la mitad de los errores.
Crear una carpeta
mkdir -p a/b/c crea toda la cadena de golpe y no protesta si ya existe.
Recuperar un comando anterior
history | grep patrón, o Ctrl+R, que va buscando a medida que se escribe.
Cambiar los permisos
chmod 644 para un archivo, 755 para una carpeta o un ejecutable.
Medir el espacio libre
df -h por partición. Es el primer comando cuando una escritura falla.
Saber qué llena el disco
du -sh * en una carpeta y luego bajar por la más gorda, escalón a escalón.
Archivar
tar -czf archivo.tar.gz carpeta para crear; -xzf para extraer.
Ver las primeras o las últimas líneas
head -n 20 y tail -n 50. En un archivo desconocido, head enseña su forma al instante.
Reemplazar dentro de un archivo
sed -i "s/viejo/nuevo/g" archivo. Sin -i, el resultado se queda en pantalla.
Leer los registros del sistema
journalctl -u servicio -f sigue un servicio concreto en vez de todo el sistema.
Vigilar en directo
htop ordena por CPU o memoria y deja matar un proceso sin salir de él.
Copiar a otra máquina
rsync -av origen/ servidor:/destino/ retoma donde lo dejó; scp no sabe hacerlo.
Consultar una URL
curl -i enseña las cabeceras de la respuesta, que resuelven la mitad de las dudas.
Ver quién escucha en un puerto
ss -ltnp lista los puertos a la escucha con el proceso que hay detrás de cada uno.
Saber quién retiene un archivo
lsof archivo nombra el proceso que impide desmontar o borrar.
Programar una tarea
crontab -e para editar, -l para releer. Cinco campos: minuto, hora, día, mes, semana.
Crear un enlace simbólico
ln -s destino enlace. A la ruta del destino le conviene ser absoluta.
Comparar un archivo con otro
diff -u viejo nuevo da el formato unificado que se lee en todas partes.
Extraer una columna
awk "{print $2}" saca el segundo campo, haya los espacios que haya.
Encadenar sobre una lista
find … | xargs -n1 comando aplica el mismo comando a cada resultado.
Ordenar y quitar repetidos
sort | uniq -c cuenta las repeticiones; sin ordenar antes, uniq no vale de nada.
Comprobar una dirección de red
ip a sustituye a ifconfig; ip r enseña por dónde salen los paquetes.
Probar si una máquina responde
ping dice si responde, pero no si el servicio funciona: son preguntas distintas.
Repetir un comando
watch -n 2 comando lo relanza cada 2 segundos, siempre en el mismo sitio.