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.

Agilidad en shell de linux

509 views

Published on

Taller presentado del 29 de septiembre al 01 de octubre de 2015 en Villahermosa, Tabasco, durante las actividades del 12º Congreso Nacional y 9º Internacional de Informática y Sistemas 2015.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Agilidad en shell de linux

  1. 1. BIENVENIDOS
  2. 2. AGILIDAD EN SHELL DE LINUX OMAR OLÁN RAMÓN REMIGIO SALVADOR SÁNCHEZ
  3. 3. Currículo ● Licenciado en Informática Administrativa, por la Universidad Juárez Autónoma de Tabasco. ● Certificación Internacional en Diseño Humano con Programación Neurolingüística. CEMEHC (Centro Mexicano de Excelencia Humana Creativa). ● 2011- Taller de Instalación y Configuración de Linux. 8vo. Congreso Nacional y 5to. Congreso Internacional de Informática y Sistemas Computacionales. UJAT. ● 2008- Seminario “Entornos de Escritorio”. Festival Latinoamericano de Instalación de Software Libre 08. ● Desarrollador de Negocios - Radikal Systems, S.A. de C.V.
  4. 4. Expectativas del taller
  5. 5. Conocer comandos útiles del Shell Linux y aplicarlos para elaborar scripts. Objetivo general
  6. 6. Ajuste de expectativas del taller
  7. 7. Reglas de operación
  8. 8. Integración grupal
  9. 9. ● La shell es un programa que toma los comandos que escribes desde tu teclado y se los da al sistema operativo Linux para que sean ejecutados. ● La shell de uso más común en Linux es bash (Bourne again shell). Es una opción excelente para los usuarios que están empezando a usar la terminal. INTRODUCCIÓN
  10. 10. ● La shell provee una interfaz interativa textual para acceder a los servicios del sistema operativo. ● En un ambiente fácil de usar y permite ejecutar comandos y programas. INTRODUCCIÓN
  11. 11. ● Un Script (o guión) para Bash es un archivo de texto que contiene una sucesión de comandos de shell que pueden ejecutar diversas tareas de acuerdo al contenido del texto del script. De esta forma pueden automatizarse muchas acciones para alguna necesidad particular o para la administración de sistemas. ● #!/bin/bash INTRODUCCIÓN
  12. 12. ● Los scripts soportan varias características de programación como pueden ser: ciclos, variables, arreglos, funciones, etc. ● Redirecciones de salida y entrada, PIPES, expansiones, control de trabajo (jobs). ● Comandos construidos de forma personalizada :) INTRODUCCIÓN
  13. 13. INICIAMOS…
  14. 14. Acceso al Shell - Ejecutar una terminal en el entorno gráfico: Aplicaciones – Accesorios – Terminal - ÓAplicaciones – Sistema – Konsole
  15. 15. Acceso al Shell - Ó mediante 6 consolas virtuales: (líneas de comando). - Ctrl +Alt + F1: - Ctrl +Alt + F2: - Ctrl +Alt + F3: - Ctrl +Alt + F4: - Ctrl +Alt + F5: - Ctrl +Alt + F6:
  16. 16. Nociones básicas de línea de comandos - Las letras mayúsculas y minúsculas se consideran diferentes. - Si se desconoce el nombre completo de un comando o un archivo se escriben las primeras letras del mismo y se presiona la tecla << tab >>
  17. 17. Nociones básicas de línea de comandos Con la tecla <<ArrowUp >> se tiene acceso al historial de comandos. - Es posible copiar/pegar con el mouse: Seleccionar el texto a copiar. - Pegar con el botón medio del ratón (o presionando el botón izquierdo y derecho al mismo tiempo).
  18. 18. Nociones básicas de línea de comandos - Algunos comandos solamente pueden ejecutarse por el superusuario -root - - Para convertirse temporalmente en usuario root: comando sudo
  19. 19. Nociones básicas de línea de comandos - Diferencias entre usuario normal y administrador
  20. 20. Listar archivos comando ls Ejemplo: ls ruta
  21. 21. Crear archivos de texto comando touch Ejemplo: touch nombre de archivo
  22. 22. Moverse entre carpetas comando cd Ejemplo: cd directorio
  23. 23. Copiar archivos comando cp Ejemplo: cp archivo/carpeta origen archivo/carpeta destino
  24. 24. Mover archivos comando mv Ejemplo: mv archivo/carpeta origen carpeta destino
  25. 25. Renombrar archivos/directorios comando mv Ejemplo: mv nombre original nombre nuevo
  26. 26. Borrar archivos comando rm Ejemplo: rm nombre de archivo
  27. 27. Crear carpetas comando mkdir Ejemplo: mkdir nombre de carpeta
  28. 28. Borrar carpetas comando rm con argumento Ejemplo: rm -rf nombre de carpeta
  29. 29. Borrar carpetas comando rmdir (la carpeta tiene que estar vac ´ıa) Ejemplo: rm nombre de carpeta
  30. 30. Ayuda en línea comando man Permite visualizar los manuales de ayuda de casi cualquier comando Ejemplo: man nombre del comando
  31. 31. Control de usuarios comando who Muestra los usuarios loggeados en la terminal y la hora Ejemplo: who
  32. 32. Control de usuarios comando whoami Muestra quien soy Ejemplo: whoami
  33. 33. Control de usuarios comando whois Lista la información sobre el propietario del dominio especificado. Ejemplo: whois ujat.mx
  34. 34. Control de usuarios comando w Muestra el comando que están ejecutando otros usuarios Ejemplo: w
  35. 35. Visualizar fecha y hora comando date Muestra la fecha y hora actual Ejemplo: date
  36. 36. Visualizar fecha y hora comando cal Muestra el calendario en el mes y año especificado (opcional) Ejemplo: cal mes año
  37. 37. Cambiar permisos a archivos comando chmod Permite cambiar las opciones de escritura/lectura/ejecución de un archivo Ejemplo: chmod núm/letra archivo
  38. 38. Cambiar el propietario y grupo de archivos comando chown Permite cambiar las opciones de propietario o grupo al que pertenece el archivo Ejemplo: chown usuario:grupo archivo
  39. 39. Crear usuarios comando adduser/useradd Permite crear usuarios. Ejemplo: adduser fulanito
  40. 40. Cambiar password comando passwd Si no se especifica usuario cambia el password del usuario que ejecuta el comando Ejemplo: passwd menganito
  41. 41. TUBERIAS
  42. 42. Nuestroprimer SCRIPT Variables Comandos del sistema Estructuras condicionales Ciclos Ingresando datos Operadores
  43. 43. --- holaScript.sh --- #!/bin/bash clear echo Hola script --- holaScript. sh --- NUESTRO PRIMER SCRIPT
  44. 44. $0 : Nombre del programa ó script. $# : Cantidad de argumentos. $1..$n : Argumentos según su posición en la línea de comandos. $@ : Lista de Argumentos. $? : Resultado de la ejecución del ultimo comando. $$ : PID del shell actual. VARIABLES
  45. 45. --- variables3.sh --- echo echo echo echo echo "Nombre del "Número de script: $0" argumentos: $#" "Lista de argumentos: $*" "PID "PID del proceso del proceso actual: $$" hijo: $!" --- vairables3.sh --- VARIABLES
  46. 46. --- comando.sh --- #!/bin/bash HOLA="Hola, del año." echo $HOLA hoy es el día $(date +%j) --- comando.sh --- COMANDOS DEL SISTEMA
  47. 47. caracteres especiales, la cadena debe estar encerrada entre apostrofes o comillas El uso cadena de comillas de caracteres dentro de una permitira que de las cualquier comillassea variables dentro interpretado Apostrofes y comillas Cuando se asignan cadenas de caracteres que contiene espacios o
  48. 48. --- comando.sh --- #!/bin/bash HOLA="date +%j" echo $HOLA --- comando.sh --- COMANDOS DEL SISTEMA
  49. 49. --- comando.sh --- #!/bin/bash HOLA=`date +%j` echo $HOLA --- comando.sh --- COMANDOS DEL SISTEMA
  50. 50. --- variables.sh --- #!/bin/bash var="test de cadenas” var2=”Valor de echo $var2 la variable es $var” --- variables.sh --- COMANDOS DEL SISTEMA
  51. 51. --- variables.sh --- #!/bin/bash var='test de cadenas' var2='Valor de echo $var2 la variable es $var' --- variables.sh --- COMANDOS DEL SISTEMA
  52. 52. ● [ s1 = s2 ]: s1 coincide con s2 [ s1 != s2 ]: s1 no coincide con s2 [ s1 ● ● < s2 ]: s1 es alfabéticamente a s2, con s2 ]: s1 con anterior [ s1 > el locale actual es el ● alfabéticamente locale actualposterior a s2, ● ● [ -z s1 ] : s1 es nulo OPERADORES [ -n s1 ]: s1 no es nulo (contiene uno o más caracteres) (CADENAS DE TEXTO)
  53. 53. --- si2.sh --- #!/bin/bash if [ $(whoami) = root ]; then echo “Hola ROOT” else echo fi “No eres root” --- si2.sh --- ESTRUCTURA CONDICIONALES
  54. 54. --- si3.sh --- #!/bin/bash if [ $USER = root echo elif ]; then “El usuario es root” [ $(whoami) = BugCon ]; then echo “El usuarioes BugCon” else echo fi “quien eres” --- si3.sh --- ESTRUCTURA CONDICIONALES
  55. 55. --- archivo.sh --- #!/bin/bash if [ -f "BUGCON.TXT" ]; then existeecho el archivo else echo archivo no encontrado fi --- archivo.sh --- ESTRUCTURA CONDICIONALES
  56. 56. --- leer.sh --- #!/bin/bash echo read echo Por favor, introduzca su nombre: NOMBRE "¡Hola $NOMBRE!" ------ leer.sh INGRESANDO DATOS
  57. 57. ● + (adición) - (sustracción) * (producto) / (división) % (módulo) ● ● ● ● ● ** (exponenciación) OPERADORES ARITMETICOS
  58. 58. ● [ a -lt b ] equivale a ((a < b)) ● ● ● ● ● OPERADORES (RELACIONES ARITMETICAS) [a -gt b ] equivale a ((a > b)) [a -le b ] equivale a ((a <= b)) [a -ge b ] equivale a ((a >= b)) [a -eq b ] equivale a ((a == b)) [a -ne b ] equivale a ((a ! = b))
  59. 59. ● ● OPERADORES LOGICOS && Y lógico (AND) || O lógico (OR)
  60. 60. –-d /ruta/archivo: Verdadero si archivo existe y es un directorio –-e /ruta/archivo: Verdadero si archivo existe –-f /ruta/archivo: Verdadero si archivo existe y es un archivo común –-l /ruta/archivo: Verdadero si archivo existe y es un enlace suave –-r /ruta/archivo: Verdadero si archivo existe y puede leerse OPERADORES (SOBRE ARCHIVOS)
  61. 61. -s /ruta/archivo: Verdadero si archivo existe y tiene tamaño mayor que 0. -w /ruta/archivo : Verdadero si archivo existe y es escribible. -x /ruta/archivo: Verdadero si archivo existe y es ejecutable. Arch1 –ot Archi2: Verdadero si Arch1 es más viejo que Arch2.
  62. 62. ● El for es distinto a de los de otros lenguajes programación. Básicamente, le permite de `palabras'iterar sobre una serie contenidas dentro de una cadena. CICLOS
  63. 63. ● El for es distinto a de los de otros lenguajes programación. Básicamente, le permite de `palabras'iterar sobre una serie contenidas dentro El while ejecuta de una cadena. un● trozo de código si la es verdadera, y (o se encuentra una en expresión de control termina cuando es falsa interrupción ejecución) explícita dentro del código CICLOS
  64. 64. ● El for es de distinto a los de otros lenguajes programación. Básicamente, le permite de “palabras”iterar sobre una serie contenidas dentro El while ejecuta de una cadena. un● trozo de código si la es verdadera, y encuentra una en expresión de control termina cuando es falsa (o se interrupción ejecución). explícita dentro del código ● El until en que es casi el idéntico al while, excepto código se ejecuta se evalúe mientras la expresión de control como falsa. CICLOS
  65. 65. --- contador.sh --- #!/bin/bash clear read -p "Introduce un numero: " numero for (( a=0; do a<=$numero; a++ )) echo"$a" done --- contador.sh CICLOS
  66. 66. --- mientras.sh --- #!/bin/bash CONTADOR=0 while [ $CONTADOR -lt 10 ]; do echo El contador es $CONTADOR let CONTADOR=CONTADOR+1 done --- mientras.sh --- CICLOS
  67. 67. --- until.sh --- #!/bin/bash CONTADOR=20 until [ $CONTADOR CONTADOR -lt 10 ]; do $CONTADORecho let CONTADOR-=1 done --- until.sh --- CICLOS
  68. 68. --- caso.sh --- #!/bin/bash echo read case "Introduce num $num in un numero entre 1 y 5: " 0|6) echo "NUMERO *) echo "valor no esac --- caso.sh --- FUERA DE RANGO.";; reconocido";; CICLOS 1) echo "El valor de num es 1.";; 2) echo "El valor de num es 2.";; 3) echo "El valor de num es 3.";; 4) echo "El valor de num es 4.";; 5) echo "El valor de num es 5.";;
  69. 69. Script (ejercicio.sh) que haga: ● Una carpeta (BUGCON) Una serie de archivos● (10 archivos) dentro de lacarpeta BUGCON Comprima la carpeta de BUGCON● ● PREMIO AL QUE LO REALICE :) EJERCICIO
  70. 70. ● ¡Lean! RECOMENDACIONES
  71. 71. ● ¡Lean! Crond + ● script RECOMENDACIONES
  72. 72. ● ¡Lean! ● Crond Webmin + script + script ● RECOMENDACIONES
  73. 73. ● ¡Lean! ● Crond Webmin Script + script + script ● ● con Expect RECOMENDACIONES

×