Este documento proporciona una introducción a Linux y sus comandos básicos para robots. Explica el sistema de archivos de Linux, incluyendo las principales carpetas y su función. Luego, detalla comandos para la navegación entre directorios, la gestión de archivos y procesos, y la combinación de comandos mediante pipes y filtros. Finalmente, enseña cómo crear comandos personalizados a través de alias.
7. 7
NAVEGACIÓN POR DIRECTORIOS (I)
Mostrar el directorio actual pwd
Cambiar a otro directorio cd ruta/del/directorio
Volver al directorio anterior cd ..
Ir al home/usuario cd
Creación de un directorio mkdir nombre-directorio
Creación de un árbol de directorios mkdir –p /home/usuario/directorio1/directorio2
8. 8
NAVEGACIÓN POR DIRECTORIOS (II)
Ver el contenido del directorio ls
Listar todos los archivos (excepto los ocultos)
del directorio actual, en formato detallado.
ls –l
Como ls –l pero mostrando el tamaño de
archivos y carpetas en formato más natural
ls -lh
Listar todos los archivos (incluido los ocultos)
del directorio actual, en formato detallado.
ls –la
Listar los archivos del directorio actual,
indicando el tipo de archivo.
ls -F
10. 10
OPERACIONES CON ARCHIVOS/DIRECTORIOS (I)
Crear y editar un archivo de texto nano fichero
Crear archivo de texto sin contenido touch nombre-del-archivo
Borrar el archivo rm archivo
Borrar el directorio denominado
"directorio", incluyendo todos sus archivos
y subdirectorios.
rm -r directorio rm –rf (Borra todo el árbol)
Copiar el archivo o directorio denominado
"fichero" al directorio "/home/datos".
cp fichero /home/datos/ cp –r directorio nueva-ruta
Mover el archivo o directorio denominado
“archivo" al directorio "/home/datos".
mv archivo /home/datos/
Cambiar nombre de archivo mv nombre-original nuevo-nombre
💀
12. 12
Comandos Esenciales
man
RTFM
Read The F Manual
• Al utilizar el commando man
obtenemos el manual de cualquier
programa o comando, de esta forma
podemos leer sobre todas las
opciones y funcionalidades.
man
lamming
14. 14
Comandos Esenciales
top
Monitorizando el sistema
• Ejecutando el
comando top
obtenemos el
uso de recursos
actual del
sistema,
identificando
los recursos que
consume cada
proceso
top
17. 17
Prioridad del proceso en
cuanto a recursos
(asignado internamente
por el sistema)
Identificador de procesoUsuario que
ha ejecutado
el proceso
Consumo de memoria virtual
Comandos Esenciales
top
Tamaño de memoria
compartida usada
por el proceso
Porcentaje de
cpu consumido
Porcentaje de memoria
RAM consumida
Tiempo de cpuComando en síNivel de segmentación
(prioridad de ejecución
temporal asignada por
el usuario)
18. 18
Comandos Esenciales
df
• Ejecutando df
obtenemos
información sobre el
espacio usado y
disponible (en
nuestro caso la
tarjeta sd o cualquier
memoria usb
conectada)
df
df -h
19. 19
Comandos Esenciales
ps
Listando los procesos
• Al ejecutar el
comando ps
obtenemos los
procesos hijos
del terminal
que hemos
usado para
ejecutar ps
ps
20. 20
Comandos Esenciales
ps
• A diferencia de
ps, ps –ef
muestra todos
los procesos del
sistema
ps -ef
Listando los procesos
21. 21
Comandos Esenciales
kill
Utilizamos el comando kill para matar
procesos de una forma más o menos
forzosa, esto viene indicado por el
modificador -<signal>.
Este modificador, un número entre 0 y
64 hace referencia a la señal que
enviamos al proceso. Podemos ver
todas las posibles señales ejecutando
kill –l.
kill –<signal> <pid>
Matando procesos
Señal 3: Termina de forma segura.
Señal 9: Fuerza la terminación
del proceso bruscamente.
22. 22
Comandos Esenciales
kill
Ejemplo de uso
Abre un nuevo terminal y
ejecuta ps
Abre un segundo terminal
y ejecuta kill -9 <pid>
correspondiente al primer
bash que ejecutamos, en
este ejemplo:
kill -9 1358
Has matado al proceso
bash con pid 1358
27. 27
Guardando el resultado
comandos > archivo
Comandos cuya salida final se quiera
guardar en archivo de texto.
Archivo dónde se quiera escribir
el resultado de la ejecución
Este operador guarda el resultado de la ejecución en un
archivo de texto creándolo si no existe o sustituyendo su
contenido si ya existe.
>
Combinando comandos
>
28. 28
Guardando el resultado
comandos >> archivo
La diferencia entre > y >> es que este último concatena el
resultado de la ejecución al contenido del archivo si es que
este ya existía. Si no, funciona exactamente como >.
>>
>>
Combinando comandos
29. 29
Combinando comandos
&&
echo “hola” > saludo.txt && mv saludo.txt meetup
Para ahorrar tiempo y evitar tener que ejecutar todos los comandos uno a
uno, podemos utilizar el conector “&&”.
30. 30
Combinando comandos
¿Qué es eso de “combinar comandos”?
Comando 1 Comando 2 Comando n. . .
Cuando combinamos comandos, la salida del comando n es la
entrada del comando n+1. De esta forma podemos concatenar
todos los comandos que queramos para obtener con una sola
línea, una salida de información muy específica.
Para combinar comandos utilizamos el carácter “|” a modo de separador.
PIPES
31. 31
PIPES
grep
• Utilizado como comando en una combinación,
podemos filtrar la salida del comando anterior
para mostrar solo las líneas que cumplan el filtro
indicado por grep.
grep
Filtrando con grep
ls | grep Do
32. 32
Filtrando con grep, un ejemplo simple
ps –ef | grep ssh
Proceso para listar todos los
procesos del sistema
Lista solo las líneas del
commando anterior que
contenga la cadena “ssh”
¿Qué salida se obtendría?
PIPES
grep
33. 33
Filtrando con grep, un ejemplo simple
Aparece incluido en la lista el
comando anterior grep ssh
¿Cómo lo evitamos?
PIPES
grep
34. 34
Filtrando con grep, refinando la salida
| grep –v grep
Con –v <cadena> se filtra la
salida del comando anterior
eliminando aquellas líneas
que contengan a <cadena>
PIPES
grep
35. 35
Filtrando con grep y extrayendo con awk
Tiene una sintaxis de “awk /patron/ ‘{acción}’”,
en este caso al no indicar patrón, realiza para cada
línea la acción de imprimir el segundo campo de
la misma.
awk
| awk ‘{print $2}’
| awk ‘{print $2,$4}’
PIPES
grep + awk
36. 36
Filtrando con grep, extrayendo con awk y ejecutando con xargs
¿Podemos complicarlo algo más?
ps -ef| grep ssh | grep –v grep | awk ‘{print $2}’ | xargs kill -9
El commando xargs permite tratar individualmente cada
línea resultante del commando anterior. Con cada uno de
estos datos, ejecuta el commando que se especifique a
continuación.
xargs
PIPES
grep + awk + xargs
38. 38
Alias es una herramienta que permite precisamente poner
un alias a cierto comando o combinación de comandos. De
esta forma no tendremos que recordar el comando
completo, solo el alias que hemos inventado.
Comandos personalizados
¿Qué es Alias?
Veamos los pasos que debemos seguir para crear un alias…
39. 39
1
2
3
4
Alias viene por defecto instalado en Raspbian, el primer paso por lo tanto no será
instalarlo, sino modificar el archivo oculto /home/pi/. bashrc
Guarda el archivo tras escribir una nueva línea con la siguiente estructura:
alias nombre_personalizado=‘commando real’
Ejecuta el siguiente comando para hacer efectivo el alias:
Prueba el commando utilizando su alias desde el shell
sudo nano .bashrc
Comandos personalizados
Paso a paso
alias off=‘sudo halt’
source .bashrc
off