Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

THE ROBOT ACADEMY: Meet Up Linux for ROBOTS#1 (17.04.27)

181 views

Published on

Presentación técnica de nuestro Meet Up el 27 de abril de 2017 en el Cubo Andalucía Open Future Sevilla. Introducción al manejo de bash de Linux.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

THE ROBOT ACADEMY: Meet Up Linux for ROBOTS#1 (17.04.27)

  1. 1. TheRobotAcademy.com ROBOTS#1 27 Abril 2017 Linux for Robots
  2. 2. TheRobotAcademy.com Iniciació n a Linux  Sistema de archivos  Comandos
  3. 3. 3 SISTEMA DE ARCHIVOS EN LINUX / /root /etc /proc /var /boot /bin /dev /home /lib /mnt /media /usr /opt /srv /sys /tmp/run /sbin /lost+found
  4. 4. TheRobotAcademy.com Iniciació n a Linux  Sistema de archivos  Comandos
  5. 5. 5 1. Comandos esenciales (I) 2. Comandos esenciales (II) 3. Combinando comandos 4. Comandos personalizados Primera Parte Comandos
  6. 6. 1 Comandos esenciales (I)
  7. 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. 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
  9. 9. 9 https://www.tutorialspoint.com/execute_bash_online.php Bash en entorno web Ejercicios prácticos
  10. 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 💀
  11. 11. 2 Comandos esenciales (II) Becoming the Boss
  12. 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
  13. 13. 13 Comandos Esenciales man Ejemplo de uso man ls Ejecuta man seguido del comando del que quieras consultar el manual
  14. 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
  15. 15. 15 Comandos Esenciales top
  16. 16. 16 Comandos Esenciales top
  17. 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. 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. 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. 20 Comandos Esenciales ps • A diferencia de ps, ps –ef muestra todos los procesos del sistema ps -ef Listando los procesos
  21. 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. 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
  23. 23. 23 Comandos Esenciales cat Leyendo contenido desde el terminal • Ejecutando cat se concatena el contenido de un archivo de texto y se muestra por el terminal. cat
  24. 24. 24 Comandos Esenciales cpuinfo & meminfo Leyendo información del sistema cat /proc/cpuinfo cat /proc/meminfo
  25. 25. 25 1. Comandos esenciales (I) 2. Comandos esenciales (II) 3. Combinando comandos 4. Comandos personalizados Segunda Parte Comandos
  26. 26. 3 Combinando comandos > >> && | pipes
  27. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  37. 37. 4 Comandos personalizados
  38. 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. 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

×