SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Downloaden Sie, um offline zu lesen
BIENVENIDOS
AGILIDAD EN SHELL DE LINUX
OMAR OLÁN RAMÓN
REMIGIO SALVADOR SÁNCHEZ
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.
Expectativas del taller
Conocer comandos útiles del
Shell Linux y aplicarlos para
elaborar scripts.
Objetivo general
Ajuste de expectativas del taller
Reglas de operación
Integración grupal
●
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
●
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
●
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
●
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
INICIAMOS…
Acceso al Shell
- Ejecutar una terminal en el entorno
gráfico: Aplicaciones – Accesorios –
Terminal
- ÓAplicaciones – Sistema – Konsole
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:
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 >>
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).
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
Nociones básicas de línea de comandos
- Diferencias entre usuario normal y
administrador
Listar archivos
comando ls
Ejemplo: ls
ruta
Crear archivos de texto
comando touch
Ejemplo: touch nombre de
archivo
Moverse entre carpetas
comando cd
Ejemplo: cd
directorio
Copiar archivos
comando cp
Ejemplo: cp archivo/carpeta
origen archivo/carpeta destino
Mover archivos
comando mv
Ejemplo: mv archivo/carpeta
origen carpeta destino
Renombrar archivos/directorios
comando mv
Ejemplo: mv nombre
original nombre nuevo
Borrar archivos
comando rm
Ejemplo: rm nombre de
archivo
Crear carpetas
comando mkdir
Ejemplo: mkdir nombre de
carpeta
Borrar carpetas
comando rm con argumento
Ejemplo: rm -rf nombre de
carpeta
Borrar carpetas
comando rmdir
(la carpeta tiene que estar vac
´ıa)
Ejemplo: rm nombre de
carpeta
Ayuda en línea
comando man
Permite visualizar los manuales de
ayuda de casi cualquier comando
Ejemplo: man nombre del comando
Control de usuarios
comando who
Muestra los usuarios
loggeados en la terminal y la
hora
Ejemplo: who
Control de usuarios
comando
whoami
Muestra quien
soy
Ejemplo: whoami
Control de usuarios
comando whois
Lista la información sobre el
propietario del dominio
especificado.
Ejemplo: whois ujat.mx
Control de usuarios
comando w
Muestra el comando que
están ejecutando otros
usuarios
Ejemplo: w
Visualizar fecha y hora
comando date
Muestra la fecha y hora
actual
Ejemplo: date
Visualizar fecha y hora
comando cal
Muestra el calendario en el
mes y año
especificado (opcional)
Ejemplo: cal mes año
Cambiar permisos a archivos
comando chmod
Permite cambiar las
opciones de
escritura/lectura/ejecución
de un archivo
Ejemplo: chmod
núm/letra archivo
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
Crear usuarios
comando
adduser/useradd
Permite crear usuarios.
Ejemplo: adduser fulanito
Cambiar password
comando passwd
Si no se especifica usuario
cambia el password del
usuario
que ejecuta el comando
Ejemplo: passwd
menganito
TUBERIAS
Nuestroprimer SCRIPT
Variables
Comandos del sistema
Estructuras condicionales
Ciclos
Ingresando datos
Operadores
--- holaScript.sh ---
#!/bin/bash
clear
echo Hola
script
---
holaScript.
sh ---
NUESTRO PRIMER SCRIPT
$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
--- 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
--- comando.sh ---
#!/bin/bash
HOLA="Hola,
del
año."
echo $HOLA
hoy es el día $(date +%j)
--- comando.sh ---
COMANDOS
DEL SISTEMA
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
--- comando.sh ---
#!/bin/bash
HOLA="date +%j"
echo $HOLA
--- comando.sh
---
COMANDOS DEL SISTEMA
--- comando.sh ---
#!/bin/bash
HOLA=`date +%j`
echo $HOLA
--- comando.sh
---
COMANDOS DEL SISTEMA
--- variables.sh ---
#!/bin/bash var="test de cadenas”
var2=”Valor de
echo $var2
la variable es $var”
--- variables.sh ---
COMANDOS
DEL SISTEMA
--- variables.sh ---
#!/bin/bash
var='test de cadenas'
var2='Valor de
echo $var2
la variable es $var'
--- variables.sh ---
COMANDOS DEL SISTEMA
● [ 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)
--- si2.sh ---
#!/bin/bash
if [ $(whoami) = root ]; then
echo “Hola
ROOT” else
echo
fi
“No eres root”
--- si2.sh ---
ESTRUCTURA CONDICIONALES
--- 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
--- archivo.sh ---
#!/bin/bash
if [ -f "BUGCON.TXT" ]; then
existeecho el archivo
else
echo archivo no encontrado
fi
--- archivo.sh ---
ESTRUCTURA CONDICIONALES
--- leer.sh ---
#!/bin/bash
echo
read
echo
Por favor, introduzca su nombre:
NOMBRE
"¡Hola $NOMBRE!"
------ leer.sh
INGRESANDO DATOS
● + (adición)
- (sustracción)
* (producto)
/ (división)
% (módulo)
●
●
●
●
● ** (exponenciación)
OPERADORES ARITMETICOS
● [ 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))
●
●
OPERADORES LOGICOS
&& Y lógico (AND)
|| O lógico (OR)
–-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)
-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.
●
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
●
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
●
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
--- contador.sh ---
#!/bin/bash
clear
read -p
"Introduce
un numero: " numero
for (( a=0;
do
a<=$numero; a++ ))
echo"$a"
done
---
contador.sh
CICLOS
--- mientras.sh ---
#!/bin/bash
CONTADOR=0
while [
$CONTADOR
-lt 10 ]; do
echo El contador es $CONTADOR
let
CONTADOR=CONTADOR+1
done
--- mientras.sh ---
CICLOS
--- until.sh ---
#!/bin/bash
CONTADOR=20
until [ $CONTADOR
CONTADOR
-lt 10 ]; do
$CONTADORecho
let
CONTADOR-=1
done
--- until.sh ---
CICLOS
--- 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.";;
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
● ¡Lean!
RECOMENDACIONES
●
¡Lean!
Crond
+
● script
RECOMENDACIONES
● ¡Lean!
●
Crond
Webmin
+ script
+
script
●
RECOMENDACIONES
● ¡Lean!
●
Crond
Webmin
Script
+ script
+
script
●
● con Expect
RECOMENDACIONES

Weitere ähnliche Inhalte

Was ist angesagt?

Sistema operativo gnu linux 1
Sistema operativo gnu linux 1Sistema operativo gnu linux 1
Sistema operativo gnu linux 1
Jhon
 
Curso Linux Reducido
Curso Linux ReducidoCurso Linux Reducido
Curso Linux Reducido
rvarguez
 
Os unix versiones-tipos de particiones-formatos
Os unix versiones-tipos de particiones-formatosOs unix versiones-tipos de particiones-formatos
Os unix versiones-tipos de particiones-formatos
Juanaalfaro15
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
cyberleon95
 
Manejo de sistemas operativos
Manejo de sistemas operativosManejo de sistemas operativos
Manejo de sistemas operativos
Essa Hom's
 
Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point
Montse Perez
 

Was ist angesagt? (20)

Linux Intro
Linux IntroLinux Intro
Linux Intro
 
Artefactos linux
Artefactos linuxArtefactos linux
Artefactos linux
 
Sistema operativo gnu linux 1
Sistema operativo gnu linux 1Sistema operativo gnu linux 1
Sistema operativo gnu linux 1
 
Entorno linux
Entorno linuxEntorno linux
Entorno linux
 
Curso Linux Reducido
Curso Linux ReducidoCurso Linux Reducido
Curso Linux Reducido
 
Presentacion de Linux
Presentacion de LinuxPresentacion de Linux
Presentacion de Linux
 
Os unix versiones-tipos de particiones-formatos
Os unix versiones-tipos de particiones-formatosOs unix versiones-tipos de particiones-formatos
Os unix versiones-tipos de particiones-formatos
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
 
Fedora exposicion
Fedora exposicionFedora exposicion
Fedora exposicion
 
Fedora
FedoraFedora
Fedora
 
19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson
 
Transcripcion yamy
Transcripcion yamyTranscripcion yamy
Transcripcion yamy
 
Linux
LinuxLinux
Linux
 
Ud6 1 linux_basicos2
Ud6 1 linux_basicos2Ud6 1 linux_basicos2
Ud6 1 linux_basicos2
 
Conceptos y comandos básicos de linux
Conceptos y comandos básicos de linuxConceptos y comandos básicos de linux
Conceptos y comandos básicos de linux
 
Sistema gnulinux 1
Sistema gnulinux 1Sistema gnulinux 1
Sistema gnulinux 1
 
LINUX/FEDORA
LINUX/FEDORALINUX/FEDORA
LINUX/FEDORA
 
Manejo de sistemas operativos
Manejo de sistemas operativosManejo de sistemas operativos
Manejo de sistemas operativos
 
2.10 instalacionyconfiguraciondeservicios
2.10 instalacionyconfiguraciondeservicios2.10 instalacionyconfiguraciondeservicios
2.10 instalacionyconfiguraciondeservicios
 
Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point Manejo de sistemas operativos en power point
Manejo de sistemas operativos en power point
 

Andere mochten auch

Por que le temes a una consola en linux
Por que le temes a una consola en linuxPor que le temes a una consola en linux
Por que le temes a una consola en linux
guest7f64f4
 
Pasos para publicar diapositivas a la web
Pasos para publicar diapositivas a la webPasos para publicar diapositivas a la web
Pasos para publicar diapositivas a la web
getleesan
 
Pasos para subir diapositivas al internet
Pasos para subir diapositivas al internetPasos para subir diapositivas al internet
Pasos para subir diapositivas al internet
Marco Endara
 
Ecuaciones cuadraticas
Ecuaciones cuadraticasEcuaciones cuadraticas
Ecuaciones cuadraticas
ivancer
 

Andere mochten auch (20)

Escritorios Linux
Escritorios LinuxEscritorios Linux
Escritorios Linux
 
Por que le temes a una consola en linux
Por que le temes a una consola en linuxPor que le temes a una consola en linux
Por que le temes a una consola en linux
 
Attrib
AttribAttrib
Attrib
 
manual de Bash 4.1
manual de Bash 4.1manual de Bash 4.1
manual de Bash 4.1
 
Diapositivas Numeros
Diapositivas NumerosDiapositivas Numeros
Diapositivas Numeros
 
17 comandos basicoslinuxasoitsonp
17 comandos basicoslinuxasoitsonp17 comandos basicoslinuxasoitsonp
17 comandos basicoslinuxasoitsonp
 
Pasos para publicar diapositivas a la web
Pasos para publicar diapositivas a la webPasos para publicar diapositivas a la web
Pasos para publicar diapositivas a la web
 
Presentacion de ubuntu
Presentacion de ubuntuPresentacion de ubuntu
Presentacion de ubuntu
 
Curso Bash 1
Curso Bash 1Curso Bash 1
Curso Bash 1
 
20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer
 
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHCOMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
 
Pasos para subir diapositivas al internet
Pasos para subir diapositivas al internetPasos para subir diapositivas al internet
Pasos para subir diapositivas al internet
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
 
Ecuaciones lineales
Ecuaciones linealesEcuaciones lineales
Ecuaciones lineales
 
COMO SUBIR DIAPOSITIVAS A SLIDESHARE
COMO SUBIR DIAPOSITIVAS A SLIDESHARECOMO SUBIR DIAPOSITIVAS A SLIDESHARE
COMO SUBIR DIAPOSITIVAS A SLIDESHARE
 
Ecuaciones cuadraticas
Ecuaciones cuadraticasEcuaciones cuadraticas
Ecuaciones cuadraticas
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShare
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Ähnlich wie Agilidad en shell de linux

[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux
Eudris Cabrera
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
usupr2014
 
Taller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29oTaller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29o
Tomás Vírseda
 

Ähnlich wie Agilidad en shell de linux (20)

The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux
 
[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De Linux
 
bash
bashbash
bash
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Comandos Linux 1.ppt
Comandos Linux 1.pptComandos Linux 1.ppt
Comandos Linux 1.ppt
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson
 
Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
 
Tutorial linux
Tutorial linuxTutorial linux
Tutorial linux
 
Tutorial 18pag
Tutorial 18pagTutorial 18pag
Tutorial 18pag
 
Presentación linux
Presentación linuxPresentación linux
Presentación linux
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell Scripting
 
Comandos de uso frecuente
Comandos de uso frecuenteComandos de uso frecuente
Comandos de uso frecuente
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
 
Comandos
ComandosComandos
Comandos
 
Taller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29oTaller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29o
 
Unidad 9:
Unidad 9: Unidad 9:
Unidad 9:
 

Mehr von Remigio Salvador Sánchez

Mehr von Remigio Salvador Sánchez (9)

Docker
DockerDocker
Docker
 
Software Libre. qué es y para qué
Software Libre. qué es y para quéSoftware Libre. qué es y para qué
Software Libre. qué es y para qué
 
Seguridad informática para niños, padres y educadores
Seguridad informática para niños, padres y educadoresSeguridad informática para niños, padres y educadores
Seguridad informática para niños, padres y educadores
 
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
 
Alternativas de software libre frente al software propietario
Alternativas de software libre frente al software propietarioAlternativas de software libre frente al software propietario
Alternativas de software libre frente al software propietario
 
Desarrollo de firewall con herramientas de software libre
Desarrollo de firewall con herramientas de software libreDesarrollo de firewall con herramientas de software libre
Desarrollo de firewall con herramientas de software libre
 
Instalación y configuración de gnu/linux
Instalación y configuración de gnu/linuxInstalación y configuración de gnu/linux
Instalación y configuración de gnu/linux
 
Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!
 
Diseño de un firewall con herramientas de software libre
Diseño de un firewall con herramientas de software libreDiseño de un firewall con herramientas de software libre
Diseño de un firewall con herramientas de software libre
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (15)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Agilidad en shell de linux

  • 2. AGILIDAD EN SHELL DE LINUX OMAR OLÁN RAMÓN REMIGIO SALVADOR SÁNCHEZ
  • 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.
  • 5. Conocer comandos útiles del Shell Linux y aplicarlos para elaborar scripts. Objetivo general
  • 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. ● 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. ● 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. ● 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
  • 14. Acceso al Shell - Ejecutar una terminal en el entorno gráfico: Aplicaciones – Accesorios – Terminal - ÓAplicaciones – Sistema – Konsole
  • 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. 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. 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. 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. Nociones básicas de línea de comandos - Diferencias entre usuario normal y administrador
  • 21. Crear archivos de texto comando touch Ejemplo: touch nombre de archivo
  • 22. Moverse entre carpetas comando cd Ejemplo: cd directorio
  • 23. Copiar archivos comando cp Ejemplo: cp archivo/carpeta origen archivo/carpeta destino
  • 24. Mover archivos comando mv Ejemplo: mv archivo/carpeta origen carpeta destino
  • 25. Renombrar archivos/directorios comando mv Ejemplo: mv nombre original nombre nuevo
  • 26. Borrar archivos comando rm Ejemplo: rm nombre de archivo
  • 27. Crear carpetas comando mkdir Ejemplo: mkdir nombre de carpeta
  • 28. Borrar carpetas comando rm con argumento Ejemplo: rm -rf nombre de carpeta
  • 29. Borrar carpetas comando rmdir (la carpeta tiene que estar vac ´ıa) Ejemplo: rm nombre de carpeta
  • 30. Ayuda en línea comando man Permite visualizar los manuales de ayuda de casi cualquier comando Ejemplo: man nombre del comando
  • 31. Control de usuarios comando who Muestra los usuarios loggeados en la terminal y la hora Ejemplo: who
  • 32. Control de usuarios comando whoami Muestra quien soy Ejemplo: whoami
  • 33. Control de usuarios comando whois Lista la información sobre el propietario del dominio especificado. Ejemplo: whois ujat.mx
  • 34. Control de usuarios comando w Muestra el comando que están ejecutando otros usuarios Ejemplo: w
  • 35. Visualizar fecha y hora comando date Muestra la fecha y hora actual Ejemplo: date
  • 36. Visualizar fecha y hora comando cal Muestra el calendario en el mes y año especificado (opcional) Ejemplo: cal mes año
  • 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. 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. Crear usuarios comando adduser/useradd Permite crear usuarios. Ejemplo: adduser fulanito
  • 40. Cambiar password comando passwd Si no se especifica usuario cambia el password del usuario que ejecuta el comando Ejemplo: passwd menganito
  • 42. Nuestroprimer SCRIPT Variables Comandos del sistema Estructuras condicionales Ciclos Ingresando datos Operadores
  • 43. --- holaScript.sh --- #!/bin/bash clear echo Hola script --- holaScript. sh --- NUESTRO PRIMER SCRIPT
  • 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. --- 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. --- comando.sh --- #!/bin/bash HOLA="Hola, del año." echo $HOLA hoy es el día $(date +%j) --- comando.sh --- COMANDOS DEL SISTEMA
  • 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. --- comando.sh --- #!/bin/bash HOLA="date +%j" echo $HOLA --- comando.sh --- COMANDOS DEL SISTEMA
  • 49. --- comando.sh --- #!/bin/bash HOLA=`date +%j` echo $HOLA --- comando.sh --- COMANDOS DEL SISTEMA
  • 50. --- variables.sh --- #!/bin/bash var="test de cadenas” var2=”Valor de echo $var2 la variable es $var” --- variables.sh --- COMANDOS DEL SISTEMA
  • 51. --- variables.sh --- #!/bin/bash var='test de cadenas' var2='Valor de echo $var2 la variable es $var' --- variables.sh --- COMANDOS DEL SISTEMA
  • 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. --- si2.sh --- #!/bin/bash if [ $(whoami) = root ]; then echo “Hola ROOT” else echo fi “No eres root” --- si2.sh --- ESTRUCTURA CONDICIONALES
  • 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. --- archivo.sh --- #!/bin/bash if [ -f "BUGCON.TXT" ]; then existeecho el archivo else echo archivo no encontrado fi --- archivo.sh --- ESTRUCTURA CONDICIONALES
  • 56. --- leer.sh --- #!/bin/bash echo read echo Por favor, introduzca su nombre: NOMBRE "¡Hola $NOMBRE!" ------ leer.sh INGRESANDO DATOS
  • 57. ● + (adición) - (sustracción) * (producto) / (división) % (módulo) ● ● ● ● ● ** (exponenciación) OPERADORES ARITMETICOS
  • 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. ● ● OPERADORES LOGICOS && Y lógico (AND) || O lógico (OR)
  • 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. -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. ● 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. ● 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. ● 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. --- 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. --- 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. --- until.sh --- #!/bin/bash CONTADOR=20 until [ $CONTADOR CONTADOR -lt 10 ]; do $CONTADORecho let CONTADOR-=1 done --- until.sh --- CICLOS
  • 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. 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