Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual
básico
operativos I
Guía de estudio v1.6.3
2021
Carlos Amador
Sistemas Operativos I, Primer Parcial
Contenido
1. Introducción........................................................................................................................ 2
2. Unidad I ................................................................................................................................ 2
Introducción .................................................................................................................................... 2
Las rutas absolutas .......................................................................................................................... 3
Las rutas relativas ............................................................................................................................ 4
Fechas de lanzamiento .................................................................................................................... 5
Línea de tiempo del Linux ............................................................................................................... 7
Distribuciones.................................................................................................................................. 8
3. Arquitectura ........................................................................................................................ 8
4. Comandos básicos ............................................................................................................ 9
Ejemplo1 1 parcial ......................................................................................................................... 15
1
Sistemas Operativos I, Primer Parcial
1. Introducción
El siguiente trabajo representa el material de estudio a utilizar para el curso de sistemas
operativos I, aquí se encuentra reunida de forma resumida la información básica para el
desarrollo de la clase, se aclara que de igual forma el catedrático podrá proporcionarles
otros documentos de referencia o direcciones urls que les permitan enriquecer su
fuente bibliográfica.
En este material hablaremos de los elementos básicos a manejar de Linux, se aclara que
el material está diseñado para aquellas personas que no han tenido interacción alguna
con Linux como sistema operativo.
2. Unidad I
Objetivos de Aprendizaje
Introducción
Un sistema de computadora es un dispositivo electrónico programable que puede almacenar,
recuperar y procesar datos. Ejecuta un conjunto de instrucciones llamado programa.
La ejecución del programa da al usuario final el resultado deseado. Un ejemplo de ejecución de un
programa es cuando se trabaja con una calculadora en un sistema operativo Windows.
Para que una computadora sea capaz de hacer todo esto, requiere de un programa especial
llamado sistema operativo. El sistema operativo reside en el disco duro de la computadora y actúa
como un puente entre los programas de usuario y los programas que controlan le hardware de la
computadora.
2
Sistemas Operativos I, Primer Parcial
El sistema operativo controla todo el trabajo de la computadora. Sin el, la computadora solo es un
montón de circuitos electrónicos.
Linux es un núcleo de sistema operativo libre tipo Unix. Es uno de los principales ejemplos de
software libre. Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo
el mundo.
También diremos que Linux es un sistema jerárquico de archivos los cuales se desprenden de la
única unidad contenedora existente llamada raíz, / (pleca), root (no confundir con el usuario root),
a diferencia de Windows que puede poseer más de una unidad contenedora y esta usualmente
reciben el nombre de C:,D:,E:,F:, etc..
En la mayoría de los sistemas operativos y sistemas de archivos una ruta se puede expresar en
forma relativa (o parcial) o en forma absoluta:
Las rutas absolutas señalan la ubicación de un archivo o directorio desde el directorio raíz
del sistema de archivos. Por ejemplo es una ruta absoluta /home/usuario/Notas.doc que señala la
ubicación de Notas.doc desde la raíz del sistema de archivos.
Esta sirve para ir a cualquier directorio desde cualquier parte en que estemos. Cuando algo comienza con /,
representa una ruta absoluta.
3
Sistemas Operativos I, Primer Parcial
La absoluta: /home/usuario/Notas1parcial.xls
La relativa: usuario/Notas1parcial.xls
4
Sistemas Operativos I, Primer Parcial
Fechas de lanzamiento
Versión Fecha Nota
0.01 17 de septiembre de 1991 Initial Public Release
0.02 5 de octubre de 1991
0.11 8 de diciembre de 1991
0.95 7 de marzo de 1992
1.0.0 13 de marzo de 1994 Primera versión estable
1.1.0 6 de abril de 1994 Versión de desarrollo
1.2.0 6 de marzo de 1995
1.3.0 12 de junio de 1995 Versión de desarrollo
5
Sistemas Operativos I, Primer Parcial
6
Sistemas Operativos I, Primer Parcial
7
Sistemas Operativos I, Primer Parcial
Distribuciones
Una distribución Linux (coloquialmente llamada distro) es una distribución de software basada en
el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de
un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para
servidores. Por lo general están compuestas, total o mayoritariamente, de software libre, aunque
a menudo incorporan aplicaciones o controladores propietarios.
Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas
del proyecto GNU y el sistema de ventanas X Window System. Dependiendo del tipo de usuarios a
los que la distribución esté dirigida se incluye también otro tipo de software como procesadores
de texto, hoja de cálculo, reproductores multimedia, herramientas administrativas, etcétera. En el
caso de incluir herramientas del proyecto GNU, también se utiliza el término distribución
GNU/Linux.
Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE
(Novell), Ubuntu , Mandriva, y distribuciones mantenidas por la comunidad como Debian y
Gentoo. Aunque hay otras distribuciones que no están relacionadas con alguna empresa o
comunidad, como es el caso de Slackware.
Arquitectura
Cuando se habla de arquitectura nos referimos a la forma en como está construida una
distribución en particular todas las distribuciones utilizan la estructura descrita en este grafico
como base arquitectura a emplear, lo que
hace que unas personas prefieran una
distribución a otra es la manera en cómo
son construidas esas distribuciones.
8
Sistemas Operativos I, Primer Parcial
• Linux no requiere de un equipo de última generación para su configuración mínima. Sólo requiere de:
• Un procesador 386SX o superior
• 4 MB de RAM (se recomienda tener 8 MB)
• un controlador de disco duro y un disco duro con 20 MB de espacio libre (se recomienda tener 100 MB) (en la práctica, Linux se puede ejecutar
desde un simple disquete)
• una unidad de CD-ROM
Hardware • Con respecto a dispositivos periféricos , es mucho más probable que Linux admita los componentes de hardware comúnmente disponibles en el
mercado.
• En informática, un núcleo o kernel (de la raíz germánica Kern) es un software que actúa de sistema operativo.Es el principal responsable de
facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a
través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué
programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware
directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite
kernel esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.
• Puesto que un sistema operativo no sirve de mucho sin aplicaciones que se ejecuten en el mismo, el sistema operativo de linux provee varias
aplicaciones populares existentes para GNU/Linux, por ejemplo:
• Bases de datos relacionales Multiusuario
• PostgreSQL.
• MySQL (multiplataforma).
aplicaciones
base • Bases de datos relacionales Monousuario
• OpenOffice Base (multiplataforma, necesita Java).
Biblioteca de Funciones
Este punto hace referencia a
Entorno Grafico
bibliotecas de programas en Shell Texto
En Linux se puede elegir varios entornos gráficos, los
Linux,Esto incluye las principales son:
bibliotecas estáticas, librerías
compartidas, bibliotecas KDE: Es un entorno de escritorio con un aspecto
similar al de Windows con muchas funcionalidades El shell es simplemente un programa
dinámicamente cargado. incorporadas. Ideal para PCs que cuentan con un
que lee los comandos que se teclean y
mínimo de 128 Mb de memoria RAM
los convierte en una forma mas
GNOME: Es la principal alternativa existente a KDE
entendible para el sistema Unix/Linux.
para quienes están acostumbrados a Windows. Tambien incluye algunas sentencias
Seguramente GNOME es una buena opción para
quienes prefieren un entorno menos barroco que basicas de programacion que
KDE, aunque quizás posea a primera vista una permiten: tomar desiciones, realizar
interfaz menos familiar para los usuarios de ciclos y almacenar valores en variables.
Windows.
Comandos básicos
A continuación, enumeraremos y explicaremos la lista de comandos básicos a emplear para este
primer parcial. (Para efectos de aprendizaje se irá hablando de cada comando y haciendo un par
de ejercicios prácticos en el laboratorio de clases)
a. man comando
Todos los manuales de Linux están dentro del propio sistema operativo, y este comando permite
acceder a la información correspondiente al comando.
9
Sistemas Operativos I, Primer Parcial
man who aparecerá por pantalla y de forma formateada por páginas, la explicación del comando
who. Se puede navegar a través de estas páginas con los cursores del teclado, y presionando q
para salir.
b. Clear
El comando pwd (print working directory) visualiza o imprime la ruta del directorio en el que nos
encontramos en este momento. Este comando es uno de los pocos que no tiene opciones y se
utiliza escribiendo simplemente pwd , como lo vimos en la imagen muestra el ejemplo de una ruta
absoluta.
Este comando permite cambiar de directorio a partir del directorio actual de trabajo. Por ejemplo,
cd /home/Pedro En este ejemplo pasamos del directorio actual de trabajo al nuevo directorio
/home/Pedro, que será desde ahora nuestro nuevo directorio. cd directory Nos traslada al
subdirectorio directory (que deberá existir como subdirectorio en el directorio actual).
10
Sistemas Operativos I, Primer Parcial
Este comando (make directory) permite a cada usuario crear un nuevo subdirectorio, y se emplea
de la siguiente forma: mkdir subdir, donde subdir es el nombre del directorio que se va a crear.
Este comando borra uno o más directorios del sistema (remove directory), siempre que estos
subdirectorios estén vacíos. Por ejemplo: rmdir subdir, donde subdir es el nombre del directorio
que se va a eliminar.
Una de las acciones más habituales a la hora de trabajar es mostrar el contenido de un directorio,
para lo cual existen herramientas gráficas. No obstante el shell incluye un programa con este
mismo fin: ls.
ls -a Muestra todos los ficheros incluyendo algunos que ordinariamente están ocultos para el
usuario (aquellos que comienzan por un punto). Se recuerda que el fichero punto( . ) indica el
directorio actual y el doble punto ( .. ) el directorio padre, que contiene, al actual.
ls -l Esta es la opción de lista larga: muestra toda la información de cada fichero incluyendo:
protecciones, tamaño y fecha de creación o del último cambio introducido.
h. rm
rm es una orden de Unix usada para eliminar archivos y directorios del sistema de archivos. Esta
orden debe utilizarse con cautela, ya que puede ser muy destructiva, debido a que, al momento de
ser llamada, por omisión borra los archivos sin pedir confirmación.
Proviene de la palabra remove que significa "borrar" en inglés.
Parámetros rm:
-r, Procesa subdirectorios de forma recursiva.
-i, Pide confirmación para cada borrado.
-f, Forzado, ignora archivos no existentes y elimina cualquier aviso de confirmación.
En ocasiones se crea un alias con el nombre "rm", redirigido a "rm -i", con el fin de evitar borrados
accidentales. Si un usuario desea borrar varios archivos sin confirmación, se puede cancelar
manualmente la confirmación con el modificador -f: "rm -f"
"rm -rf" (con variantes, "rm -rf /", "rm -rf *", entre otras) son frecuentemente usados en bromas y
anécdotas sobre desastres en Unix. Esta variante de la orden si es ejecutada por el administrador,
puede causar que todos los contenidos del sistema de archivos sean borrados.
Aunque no es equivalente, su uso en bromas es similar al de format c: en Windows.
11
Sistemas Operativos I, Primer Parcial
i. cp
cp es una orden de Unix usado para copiar archivos o directorios del sistema de archivos.
cp proviene de la palabra copy que significa copiar en Inglés.
La orden equivalente en DOS es copy.
j. mv
mv es un comando de Unix usado para mover o renombrar archivos o directorios del sistema de
archivos. El archivo original es borrado y el crea un nuevo archivo con el mismo contenido, el
nombre puede ser diferente o puede ser el mismo. En caso de que se use en la misma ruta con el
nombre del archivo y otro nombre solo cambiara el nombre del archivo.
mv proviene de la palabra move que significa mover en Inglés.
Ejemplos:
mv file1 file_1 renombra un archivo
mv File /file mueve 'File' a '/file'
mv file ./dir/file mueve 'file' a 'dir/file' Relativo al directorio
k. tar
Comprimir y descomprimir archivos es una de las tareas mas comunes que vamos a tener que
realizar en Linux por línea de comandos. Podemos hacerlo mediante diversas herramientas, pero
existen dos que van a estar disponibles en casi cualquier distribución.
Son dos herramientas que se tienen que utilizar de manera complementaria. Se trata de tar, que
simplemente empaqueta varios archivos en un único fichero, y gzip, que hace la compresión
propiamente dicha.
12
Sistemas Operativos I, Primer Parcial
Como se puede ver, con la opción z se puede comprimir en el mismo paso en el que se
empaqueta, lo que puede hacer las cosas más rápidas y cómodas. De todos modos, tar
simplemente hace el empaquetado y es gzip el que realiza la compresión. Simplemente que
nosotros no tenemos que llamar a gzip, sino que ya lo hace directa e internamente tar.
Ejemplos
Si nos fijamos, en este caso el nombre del archivo comprimido le hemos puesto extensión .tgz, que
indica que está empaquetado y comprimido.
Eso supone que tenemos el archivo xxx.tar en el mismo directorio desde donde lanzamos el
comando. Los contenidos se desempaquetarán en el mismo directorio donde estamos situados.
4) Si el archivo que queremos desempaquetar está comprimido. Es decir, si queremos
descomprimir y desempaquetar en un solo paso, tenemos que hacerlo con la opción z del
comando tar. Algo como esto:
tar xzvf xxx.tgz
l. gzip
13
Sistemas Operativos I, Primer Parcial
Gzip Nos permite descomprimir, ver y chequear la integridad de los archivos Gz.
m. gunzip
n. >
Redirección de escritura
Para escribir un archivo se utiliza >. Hay que tener mucho cuidado de no borrar un archivo
sobreescribiéndolo. Cuando se utilizan redirecciones, debido a su utilidad en los scripts, "no se
realizan confirmaciones".
Si el archivo a escribir ya existe desde antes, el redireccionador > lo sobreescribe con flujo de texto
nuevo.
Puede ser un comando ls, un comando cal (calendario) o cualquier comando antes visto, así como
también una combinación de comandos por tuberías.
En este punto, el contenido de archivo.txt es lo mismo que saldría en pantalla. Si ejecutamos otro
comando redireccionado a archivo.txt (nuevamente), éste pierde su contenido y el resultado de la
operación pasa a estar en el mismo.
Cuando se necesita tener una lista de acontecimientos, no se quiere que un acontecimiento nuevo
borre a todos los anteriores. Para lograr esto agregamos en vez de sobreescribir.
Nota:
14
Sistemas Operativos I, Primer Parcial
Ejemplo1 1 parcial
En base a los comandos enseñados por su maestro cree la estructura aquí propuesta:
/
Respaldo
home
Unicah Facultades
Facultades.zip
15
Sistemas Operativos I, Primer Parcial
3. Unidad 2
Objetivos de Aprendizaje
Introducción
¿Has visto esa combinación de r,w,x y - cuando listas un directorio?, tienes cierta idea que son los
permisos, pero ¿como se usan y como funcionan?. En este manual sobre permisos de archivos y
directorios de LinuxTotal entenderás totalmente su uso y la manera correcta de utilizarlos.
En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso: los que se aplican al
propietario del archivo, los que se aplican al grupo que tiene el archivo y los que se aplican a todos
los usuarios del sistema. Podemos ver los permisos cuando listamos un directorio con ls -l:
$> ls -l
-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentacion
-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos
Veamos por partes el listado, tomando como ejemplo la primera línea. La primera columna (-
rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente columna (1) es el número de enlaces al
archivo, la tercera columna (sergio) representa al propietario del archivo, la cuarta columna
(ventas) representa al grupo al que pertence al archivo y las siguientes son el tamaño, la fecha y
hora de última modificación y por último el nombre delarchivo o directorio.
El primer caracter al extremo izquierdo, representa el tipo de archivo, los posibles valores para
esta posición son los siguientes:
• - un guión representa un archivo comun (de texto, html, mp3, jpg, etc.)
• d representa un directorio
• l link, es decir un enlace o acceso directo
• b binario, un archivo generalmente ejecutable
Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.
16
Sistemas Operativos I, Primer Parcial
Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son
los permisos para el grupo del archivo y los tres últimos son los permisos para el resto del mundo
o otros.
rwx rwx rwx
usuario grupo otros
Las nueve posiciones de permisos son en realidad un bit que o esta encendido (mostrado con su
letra correspondiente) o esta apagado (mostrado con un guión -), asi que, por ejemplo, permisos
como rwxrw-r--, indicaría que los permisos del propietario (rwx) puede leer, escribir y ejecutar el
archivo, el grupo (o sea los usuarios que esten en mismo grupo del archivo) (rw-) podrá leer y
escribir pero no ejecutar el archivo, y cualquier otro usuario del sistema (r--), solo podrá leer el
archivo, ya que los otros dos bits de lectura y ejecucción no se encuentran encendidos o activados.
La cambinación de valores de cada grupo de los usuarios forma un número octal, el bit x es 2 0 es
decir 1, el bit w es 21 es decir 2, el bit r es 22 es decir 4, tenemos entonces:
• r=4
• w=2
• x=1
Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un número de tres cifras
que conforman los permisos del archivo o del directorio. Esto es más fácil visualizarlo con algunos
ejemplos:
17
Sistemas Operativos I, Primer Parcial
rwx--x--x 711 El propietario lectura, escritura y ejecución, el grupo y otros solo ejecución.
rwxrwxrwx 777 El archivo puede ser leido, escrito y ejecutado por quien sea.
Habiendo entendido lo anterior, es ahora fácil cambiar los permisos de cualquier archivo o
directorio, usando el comando chmod (change mode), cuya sintaxis es la siguiente:
Los ejemplos anterior establecen los permisos correspondientes que el usuario propietario desea
establecer, el tercer ejemplo (chmod 700 julio*) cambiará los permisos a todos los archivos que
empiezen con julio (julio01, julio02, julio_respaldo, etc.) debido al caracter '*' que es parte de las
expresiones regulares que el shell acepta, e indica lo que sea. El último ejemplo por lo tanto
cambiará los permisos a los archivos dentro del directorio actual.
Una opción común cuando se desea cambiar todo un árbol de directorios, es decir, varios
directorios anidados y sus archivos correspondientes, es usar la opción -R, de recursividad:
$> chmod -R 755 respaldos/*
Esto cambiará los permisos a 755 (rwxr-xr-x) del directorio respaldos y de todos los subdirectorios
y archivos que estén contenidos dentro de este.
18
Sistemas Operativos I, Primer Parcial
Como podemos ver, nada difícil para empezar. Empecemos a explicar un poco que significa cada
línea:
#!/bin/bash: Esta línea indica donde se encuentra el intérprete de comandos en nuestro sistema.
Por defecto todos los sistemas que tengan Bash instalado, lo tendrán en el directorio /bin. Al
utilizar esta línea, podremos ejecutar el script como un programa normal, ya que el sistema sabrá
que es un script en Bash y que tiene que hacer con el.
# Esto es un ejemplo en Bash del clásico "Hola Mundo": Esto es un comentario. Todas las líneas
que empiecen con el simbolo '#' serán tratadas como comentarios y no se ejecutaran.
echo "Hola Mundo": Esto es el comando que imprime la cadena de texto en pantalla.
Variables
En todo script tenemos que trabajar con variables. Vamos a ver como se definen y usan. Una
buena costumbre cuando definamos variables en Bash es utilizar letras mayúsculas, esto no es
necesario, pero nos ayudara a tener un script más fácil de entender.
19
Sistemas Operativos I, Primer Parcial
MENSAJE="Hola Mundo"
echo $MENSAJE
Hemos definido una variable llamada MENSAJE con el valor "Hola Mundo", y la hemos usado con
el comando echo para escribir el valor de la misma. Las variables en Bash se definen como
NOMBRE=valor (sin espacios antes o después del símbolo '=') y su valor se usa, poniendo el
símbolo '$' delante del nombre de la variable, $NOMBRE.
Si al utilizar el valor de una variable, el nombre de variable esta seguido de un carácter que sea
otra letra, numero o el símbolo '_', tendremos que utilizar los símbolos '{}' alrededor del nombre
de la variable.
#!/bin/bash
FICHERO="registro"
echo ${FICHERO}_2006.txt
Usando variables de entorno
#!/bin/bash
echo "El usuario '$USERNAME' ha ejecutado el script $0, en el ordenador '$HOSTNAME'. "
También se pueden usar en nuestro scripts, variables que no hemos definido nosotros. Estas
variables son las llamadas 'variables de entorno' del sistema. En nuestro ejemplo hemos utilizado
$USERNAME y $HOSTNAME para obtener el nombre de usuario y del ordenador. La variable $0
contiene el nombre del script, más adelante explicaremos esto.
ATRIBUTOS_SCRIPT=`/bin/ls -l $0`
echo "El usuario '$USERNAME' ha ejecutado el script $0, en el ordenador '$HOSTNAME'. "
20
Sistemas Operativos I, Primer Parcial
También podemos asignar la salida que producen los comandos del sistema a una variable. En
nuestro ejemplo hemos asignado la salida del comando 'ls -l a una variable llamada
ATRIBUTOS_SCRIPT. Esto nos será muy útil en nuestros scripts para obtener información del
sistema que podremos utilizar en nuestros scripts.
Existen una serie de caracteres que tienen un significado especial en Bash, por ejemplo $ y ". Si
queremos usar literalmente estos caracteres en el valor de una variable tendremos que usar el
símbolo '\' delante de ellos.
#!/bin/bash
Si queremos definir variables numéricas para su utilización en scripts Bash podemos utilizar el
comando let. Nada mejor que un ejemplo para ver cómo se trabaja con variables numéricas.
#!/bin/bash
let A=100
let B=200
let C=$A+$B
21
Sistemas Operativos I, Primer Parcial
function nombre_de_funcion(){
comandos_del_shell
}
#!/bin/bash
let A=100
let B=200
#
# Funcion suma()
# Suma los variables A y B
#
function suma(){
let C=$A+$B
echo "Suma: $C"
}
#
# Funcion resta()
# Resta los variables A y B
#
function resta(){
let C=$A-$B
echo "Resta: $C"
}
suma
resta
22
Sistemas Operativos I, Primer Parcial
• if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o
no.
• for: Ejecuta una serie de comandos un número determinado de veces.
• while: Ejecuta una seria de comandos mientras que una determinada condición sea
cumpla.
• until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.
• case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
• select: Permite seleccionar al usuario una opción de una lista de opciones en un menú.
La mayoría de las condiciones utilizadas con estas construcciones son comparaciones de cadenas
alfanuméricas o numéricas, valores de terminación de comandos y comprobaciones de atributos
de ficheros. Antes de seguir viendo como estas construcciones se pueden utilizar, vamos a ver
como las condiciones se pueden definir.
23
Sistemas Operativos I, Primer Parcial
Podemos combinar varias condiciones con los símbolos '&&' (AND) y '||' (OR), y negar una
condición con '!'. Unos ejemplos más adelante aclararan como utilizarlos.
if/else
if "condicion"
then
"comandos"
[elif "condicion"
then
"comandos"]
[else
"comandos"]
fi
#!/bin/bash
#
# Comprobando terminación de un comando
24
Sistemas Operativos I, Primer Parcial
DIRECTORIO="/tmp/test"
COMANDO="/bin/mkdir $DIRECTORIO"
if $COMANDO
then
echo "$DIRECTORIO ha sido creado"
else
echo "$DIRECTORIO no pudo ser creado"
fi
#!/bin/bash
#
# comparación de cadenas alfanuméricas
#
CADENA1="uno"
CADENA2="dos"
CADENA3=""
fi
if [ -z $CADENA3 ]; then
echo "$CADENA3 esta vacía"
fi
--------------------------------------------------
#!/bin/bash
#
# comparación de valores numéricos
#
let NUM1=1
let NUM2=2
let NUM3=3
25
Sistemas Operativos I, Primer Parcial
Un ejemplo nos aclarara las cosas. Vamos a listar información en el DNS de una lista de direcciones
web:
#!/bin/bash
for HOST in
do
echo "-----------------------"
echo $HOST
echo "-----------------------"
/usr/bin/host $HOST
echo "-----------------------"
done
while
while condicion
do
comandos
done
Un ejemplo simple con while en donde escribimos el valor de una variable 10 veces, después de
incrementar su valor:
#!/bin/bash
NUM=0
26
Sistemas Operativos I, Primer Parcial
until condicion; do
comandos
done
Un ejemplo simple con until en donde escribimos el valor de una variable 10 veces, después de
incrementar su valor:
#!/bin/bash
NUM=0
case expresion in
caso_1 )
comandos;;
caso_2 )
comandos;;
......
esac
#!/bin/bash
for NUM in 0 1 2 3
do
case $NUM in
27
Sistemas Operativos I, Primer Parcial
0)
echo "\$NUM es igual a cero";;
1)
echo "\$NUM es igual a uno";;
2)
echo "\$NUM es igual a dos";;
3)
echo "\$NUM es igual a tres";;
esac
done
select
#!/bin/bash
28