Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO PRÁCTICO N° 1
INTRODUCCIÓN A SISTEMAS OPERATIVOS
• Capa de software que permite gestionar los recursos de una
computadora para ejecutar programas y proporcionar servicios al
usuario.
• Software que permite simular una computadora
(cpu, memoria, disco, dispositivos, etc.)
sobre un equipo informático.
Windows
Software de Linux
Virtualización
SISTEMA
OPERATIVO
Android
DOS
• Descargar DVD instalación de Linux
• Instalar VirtualBox
• Crear máquina virtual
• Instalar SO en máquina virtual
• Consola
• Entorno Gráfico
• El proceso de login permite a los usuarios acceder al sistema
mediante la verificación del nombre usuario y contraseña
...
F1
CTRL ALT F2
F3 ... ??
• El prompt (símbolo de petición o símbolo de sistema) es la
interfaz del intérprete de comandos (capa del SO) que recibe las
órdenes del usuario.
whoami
uname -r
ls –l /etc
cp –r /home/user/pdf /home/user/new
• El intérprete de comandos cuenta con herramientas para obtener
ayuda acerca de los comandos
help (opción de algunos comandos)
whatis (descripción breve de un comando)
man (manual del sistema)
apropos (busca un comando por su descripción)
root@debian:~# reboot
root@debian:~# poweroff
root@debian:~# shutdown –r now
root@debian:~# shutdown –h now
• Comandos para reiniciar/apagar el sistema
shutdown (reiniciar/apagar el sistema)
TRABAJO PRÁCTICO N° 2
SISTEMA OPERATIVO GNU/LINUX
• Sistema operativo libre,
multiusuario, multitarea.
Permite que sus usuarios lo
estudien (acceso al código
fuente), copien, modifiquen,
y usen libremente.
Soporta múltiples usuarios
conectados.
Soporta múltiples tareas
para cada usuario.
• Consola (terminal de texto)
• Entorno Gráfico
Usuario común sudo Superusuario
Usuario: alumno Usuario: root
Contrseña: alumno
• Al ejecutar un comando debe especificarse su nombre, opciones y
parámetros o argumentos. Algunos comandos pueden ejecutarse
indicando únicamente su nombre.
w
uptime -p
dmidecode –t 0
shutdown –h 21:45
• El intérprete de comandos cuenta con herramientas para obtener
ayuda acerca de los comandos
help (opción de algunos comandos)
whatis (descripción breve de un comando)
man (manual del sistema)
apropos (busca un comando por su descripción)
• yes • wget
• wall • dmidecode
• history • shutdown
• ¿Cómo mostrar los primeros 5 meses del año 2022?
• ¿Cómo suspender la terminal por 20 segundos?
• ¿Cómo mostrar repetidamente el mensaje “APU forever”?
• ¿Cómo mostrar a los usuarios el mensaje “LSOI 2022”?
• ¿Cómo modificar el nombre del equipo por “Zeus”?
• ¿Cómo mostrar los 5 últimos comandos utilizados?
• ¿Cómo mostrar los intentos de conexión fallidos?¿De
alumno?
• ¿Cómo mostrar información del procesador?
• ¿Cómo mostrar fecha y hora del sistema?
• ¿Cómo sólo la fecha del sistema?
• ¿Cómo sólo la hora del sistema?
• ¿Cómo reiniciar el equipo en 25 minutos?
• ¿Cómo cancelar el reinicio?
• ¿Cómo apagar el equipo ahora?
FACULTAD DE INGENIERÍA
UNIVERSIDAD NACIONAL DE JUJUY
TRABAJO PRÁCTICO N° 3
SISTEMA DE ARCHIVOS
• Un archivo es una secuencia
de bytes que representan
información.
Nombre de archivo
Tipo
Propietario
Tamaño
Permisos
Fecha de creación/modificación
• Es el componente del sistema
operativo encargado de
organizar el almacenamiento y
recuperación de datos
(archivos) en las unidades de
almacenamiento.
NTFS (Windows)
Ext3, Ext4 (GNU/Linux)
FAT16, FAT32 (DOS, Windows)
• / Raíz del sistema
home: contiene los directorios de los usuarios del sistema.
root: contiene los archivos del administrador.
etc: contiene los archivos de configuración del sistema.
bin (/usr/bin): contiene los binarios (comandos) básicos.
sbin (/usr/sbin): contiene los binarios (comandos) del
administrador.
boot: contiene los archivos de arranque del sistema.
tmp: contiene los archivos temporales
dev: contiene los archivos asociados a dispositivos
...
• Símbolos especiales
54-388-4221580
ls [-opciones] archivo/directorio
Algunas opciones
-l listado en formato extendido
-i muestra el número de inodo
-r listado en orden inverso
-t listado por fecha
-a listado de todos los archivos incluso ocultos
-S listado por tamaño
-R listado recursivo (directorios y subdirectorios)
• Permite listar el contenido de un directorio.
ls [-opciones] [directorios]
cd [directorio]
mkdir directorios
rmdir directorios
Borra el directorio
alumno@debian:~$ rmdir /home/alumno/lso/teoria teoría si está vacío
alumno@debian:~$ rmdir apuntes/2022 Borra directorio 2022 (vacío)
de /home/alumno/apuntes
alumno@debian:~$ rmdir –p uno/dos/tres Borra el directorio tres y sus
directorios padres si éstos
quedan vacíos
• Permite copiar archivos y/o directorios. También puede renombrar
los archivos copiados.
cp [-opciones] [ruta_origen] [ruta_destino]
• Copiar archivos
cp ruta_origen/archivo ruta_destino
• Copiar y renombrar
cp ruta_origen/archivo ruta_destino/nombre_nuevo
• Copiar directorios
cp –r ruta_origen/directorio ruta_destino
proc
• Copiar archivo
alumno@debian:~$ cp /etc/host.conf apuntes
• Copiar y renombrar
alumno@debian:~$ cp /etc/passwd apuntes/user.txt
• Copiar directorio
alumno@debian:~$ cp –r /etc/init.d ./ host.conf
user.txt
• Permite mover archivos y/o directorios. También puede renombrar
archivos y directorios.
mv [ruta_origen] [ruta_destino]
• Mover archivos/directorios
mv ruta_origen/archivo ruta_destino
• Renombrar
mv ruta_original/archivo ruta_original/nombre_nuevo
• Mover y renombrar directorios
mv ruta_origen/directorio ruta_destino/nombre_nuevo
• Mover archivo
alumno@debian:~$ mv lso/datos.txt lso/tps
ej1.txt
• Permite eliminar archivos y/o directorios.
rm [–opciones] [ruta_arch/dir]
• Eliminar archivo
rm ruta_datos/archivo
• Eliminar directorio
rm –r ruta_datos/directorio
• Eliminar archivo
alumno@debian:~$ rm lso/datos.txt
• Eliminar directorio
alumno@debian:/home$ rm –r alumno/lso/parcial
• Listar el contenido del directorio etc
• Listar en formato extendido del directorio bin
• Listar el contenido de etc ordenado por fecha
• Invertir el orden del listado anterior
• Cambiar del directorio ~ al directorio etc
• Cambiar del directorio ~ al directorio home
• Cambiar del directorio de dispositivos del sistema al
directorio del administrador
• Crear la siguiente estructura de
directorios
• Copiar el archivo hostname y host.conf (de
etc) al directorio ingreso
• Copiar el archivo passwd (de etc) al
directorio lso1 con el nombre copia.doc
• Copiar el directorio ingreso a docentes
• Mover el archivo copia.doc al directorio
hi2
• Cambia el nombre del archivo hostname (de
alumnos/ingreso) por equipo.doc
• Mover el directorio init.d (de etc) al
directorio docentes
• Mover el directorio alumnos al directorio
materias
• Borrar el directorio ed
• Borrar el archivo host.conf (de docentes)
• Borrar el directorio alumnos
FACULTAD DE INGENIERÍA
UNIVERSIDAD NACIONAL DE JUJUY
TRABAJO PRÁCTICO N° 4
SISTEMA DE ARCHIVOS
• Los comodines son caracteres
especiales que permiten
reemplazar uno o más
caracteres en el nombre de un
archivo o directorio.
?: reemplaza 1 carácter
cualquier
[0-9], [e,t,z]: reemplaza 1
carácter especificado en un
rango o de una lista.
*: reemplaza varios caracteres
(cualquier)
• ¿Cómo se pueden listar los archivos con extensión gz del
directorio /var/log?
alumno@debian:/etc$ ls ../var/log/*.gz
• Dados los archivos dato1.txt, dato2.txt, dato3.txt, datoA.txt y
datoB.txt de ~, ¿cómo podrían moverse al directorio ~/Linux?
alumno@debian:~$ mv ./ dato?.txt Linux
• Dados los archivos dato1.txt, dato2.txt y dato3.txt ¿cómo podrían
eliminarse del directorio ~/Linux?
alumno@debian:~$ rm Linux/dato[1-3].txt
• Contenido de archivos • Información de archivos
cat, more, less o directorios
head file
tail du
wc • Búsqueda de archivos
• Creación de archivos find
touch
nano
• Permite listar el contenido de un archivo. Si se indican 2 más
archivos se muestra el contenido concatenado de éstos.
wc [-opciones] archivos
• Mostrar las 3 primeras líneas del archivo modules del directorio
/etc.
file archivos
• Permite calcular el espacio ocupado (tamaño en KB, MB, GB) de un
archivo o directorio.
du [-opciones] archivos
Algunas opciones
• -s muestra información resumida
• -h muestra los tamaños en KB, MB, GB
• -b muestra tamaños en bytes
• -k muestra tamaños en KB
• -m muestra tamaño en MB
• Determinar el tipo de los archivos sr0 (/dev) y passwd (/etc)
alumno@debian:/var$ du ../etc/passwd
• ¿Cuál es el tamaño del directorio /lib?
Algunas opciones
• -type indica el tipo de archivo buscado
• -name indica el nombre del archivo buscado
• -atime indica el rango de fecha acceso buscado
• -mtime indica el rango de fecha modificación buscado
• -size indica el rango de tamaño de archivo buscado
• -empty indica que se buscan archivos o directorios vacíos
• -user indica que se buscan los archivos o directorios de un usuario específico
• Buscar el archivo cron en el directorio /etc
TRABAJO PRÁCTICO N° 5
PERMISOS
• Protección basada en contraseñas
La conexión con contraseña garantiza que sólo los usuarios
registrados accedan al sistema y a los datos que les
pertenecen.
• Protección basada en encriptación
La encriptación consiste en transformar la información
contenida en un archivo haciéndolo ilegible para quien no
conozca la clave de encriptación.
• Protección basada en permisos de acceso
Consiste en definir derechos de acceso a los datos en
relación a propietario, los miembros del mismo grupo y
cualquier otro usuario del sistema.
• Sobre archivos y directorios pueden definirse permisos de
Lectura (r, read)
Escritura (w, write)
Ejecución (x, execution)
r: permite leer el
archivos
r: permite listar el
directorios
TRABAJO PRÁCTICO N° 6
EMPAQUETADO Y COMPRESIÓN DE ARCHIVOS
• Información de archivos o directorios
stat
• Fechas de Acceso y Modificación
touch
• Creación de Enlaces
ln
• Empaquetado y Compresión
tar
gzip
• Muestra el estado de un archivo o sistema de archivos.
Algunas opciones
• -a indica que se cambiará la fecha de acceso del archivo
• -m indica que se cambiará la fecha de modificación del archivo
• -t indica la fecha y hora que será utilizada para el cambio
• -d indica la fecha que será utilizada para el cambio
• Cambie la fecha de acceso del archivo ~/tp05.pdf por 21/09/22
link.fijo Enlace
Fijo
• Crear en el directorio ~/apuntes un enlace fijo, llamado
enlace.lnk, al archivo notas.txt del directorio alumno.
alumno@debian:/etc$ ln ~/notas.txt ~/apuntes/enlace.lnk
Algunas opciones
• -c indica que se creará un archivo empaquetado o comprimido
• -t indica que se listará el contenido del archivo empaquetado o comprimido
• -x indica que se extraerá el contenido del archivo empaquetado o comprimido
• -z indica que el archivo se comprimirá
• -v indica que se mostrará información de los archivos empaquetados o comprimidos
• -f indica el nombre del archivo empaquetado o comprimido
• -C indica en qué directorio se extraerá el contenido del archivo emp. o comprimido
• Crear archivo empaquetado
Algunas opciones
• -n siendo n un valor entre 1 y 9 que indica el factor de compresión
• -k indica que se conservará el archivo original tras la compresión
• -d indica que se realizará la descompresión del archivo
• -l indica que se muestre información acerca de la compresión del archivo
• Crear archivo comprimido
TRABAJO PRÁCTICO N° 7
REDIRECCIONAMIENTO, FILTROS Y TUBERÍAS
• ¿Cómo operan los comandos?
Los comandos como cualquier otro programa utilizan datos de
entradas que son procesados y transformados en información
de salida.
? ?
Normal
ENTRADA SALIDA
Error
Parámetros del comandos Dispositivos
Dispositivos Archivos
Archivos
• Cada vez que se ejecuta un comando el Kernel abre automáticamente
los siguientes archivos
Entrada Estándar (stdin) Descriptor 0
Salida Estándar (stdout) Descriptor 1
Salida de Error Estándar (stderr) Descriptor 2
stdout
stdin COMANDO
stderr
• Se reemplaza la entrada estándar (teclado) por otro dispositivo
(por ejemplo, un archivo)
stdout
stdin COMANDO
stderr
• Ejemplo: El comando tee permite que la entrada de datos realizada
por teclado se muestre en pantalla y se almacene en los archivos
especificados.
stdout
stdin COMANDO
stderr
• Ejemplo: El comando head permite mostrar las n primeras líneas de
uno o varios archivos de texto simple.
stdout
stdin COMANDO
stderr
• Ejemplo: El comando find permite buscar archivos en el sistemas
de archivos devolviendo las ubicaciones (rutas) correspondientes.
• Formato
• cat • cut
• more • paste
• grep, egrep, fgrep • sort
• wc • uniq
• head • tee
• tail
• Permite buscar una cadena (patrón regular) en uno o más archivos
y muestra las líneas que la contienen.
Algunas opciones
-i ignora diferencias entre mayúsculas y minúsculas
-n muestra los números de líneas donde aparece la cadena buscada
-w busca la cadena como una palabra
-c cuenta las líneas que contienen la cadena buscada
-v muestra las líneas que no coincidan con la cadena buscada
-e permite indicar 2 o más cadenas a buscar
^ indica que sólo se muestren las líneas que empiecen con la cadena
$ indica que sólo se muestren las líneas que terminen con la cadena
• Permite mostrar secciones de uno o más archivos.
Algunas opciones
-f especifica las columnas que serán “extraídas”
-d especifica el carácter separador de columnas a considerar
• Ordenar el contenido de un archivo de acuerdo a un campo
específico. Por defecto ordena por el primer campo.
Algunas opciones
-k especifica la columna por la se realizará la ordenación
-t especifica el carácter separador de columnas a considerar
-n ordena considerando un campo numérico (por defecto se toma ASCII)
-u elimina los líneas repetidas
-r orden inverso
• ¿Cuántos archivos ordinarios contiene el directorio personal del
usuario?
alumno@debian:~$ ls -lR ~ | grep ^”-” | wc -l
TRABAJO PRÁCTICO N° 8
PROCESOS
• Un proceso es un programa que se ha cargado en memoria, tiene
asignados recursos y cuyas instrucciones son ejecutadas por el
procesador.
• En Linux un proceso se crea cada vez que se ejecuta una orden
externa o un programa de aplicación.
• ¿Cómo se ejecutan los procesos?
PROCESO
PROCESO PROCESO 4
1 3
Usuario 1
PROCESO PROCESO
2 5
Usuario 3
PROCESO
6
Usuario 2
• Un proceso puede encontrarse, en un momento dado, en alguno de
los siguientes estados:
EN DISCO
LISTO EJECUCIÓN
ZOMBIE
EN ESPERA
• Un proceso en primer plano es aquel que toma control de la
terminal hasta finalizar su ejecución impidiendo la introducción
de más órdenes.
alumno@debian:~$ yes “hola mundo”
pstree CTRL + C
top kill
jobs fg
bg
• Modificar prioridades
nohup
• nice
fuser
• renice
• Permite listar los procesos que se ejecutan en el sistema.
ps [-opciones] [id_proceso]
Algunas opciones
-e, -A muestra todos los procesos que se están ejecutando
-ax,-aux muestra todos los procesos que se están ejecutando
-l muestra, en formato extendido, información de los procesos
-u muestra los procesos de un usuario
u muestra la salida en formato usuario
• Permite obtener el id de un proceso conociendo su nombre.
pgrep nombre_proceso
• Muestra el árbol de procesos
pstree
• Muestra de forma dinámica el listado de procesos
top
• Muestra los procesos que se ejecutan en segundo plano
jobs
• Es posible modificar la prioridad de un proceso mediante los
comandos nice y renice.
pausa un proceso
finaliza un proceso
• Permite enviar señales a los procesos.
nohup comando
• El comando fuser permite identificar procesos a partir de
archivos o sockets.
fuser –k /dev/ttyNum
• La ejecución de procesos en serie permite especificar una
secuencia de comandos, separados por comas, que se ejecutarán uno
a continuación de otro (cada uno por un proceso).
find / -name group > /dev/null & hostname & uname –r & cal 10 2021
Proceso 1 Proceso 2 Proceso 3 Proceso 4
• La ejecución agrupada de procesos permite que 2 o más comandos
sean ejecutados por un mismo proceso.
comando1 || comando2
FACULTAD DE INGENIERÍA
UNIVERSIDAD NACIONAL DE JUJUY
TRABAJO PRÁCTICO N° 9
SCRIPTS
Comandos (ls, mkdir, tar, ps, gep)
Programas
Lenguaje de Programación
(Scripts) Secuenciales
Estructuras
Selectivas
de Control
Repetitivas
• Las variables de entorno o variables de la Shell permiten
configurar el sistema definiendo valores para la ejecución de los
distintos procesos.
• Ejemplo: PATH, HOME, LANG, USER, PWD
• Variables no modificables
$0 (nombre del comando o programa que se ejecuta)
$1 - $9 (parámetros de un comando o programa)
$*, $@ (todos los parámetros de un comando o programa)
$# (cantidad de parámetros de un comando o programa)
$$ (id del proceso actual)
$? (resultado del último comando, correcto o incorrecto)
$! (id del proceso en segundo plano más reciente)
• Crear de variables
nombre_variable=valor
• Listar variables
env (sólo variables de entorno)
set, typeset, declare (todas)
• Eliminar variables
unset nombre_variable
• Acceder al contenido de variables
$nombre_variable
• Por defecto, las variables de entorno son de tipo cadena de
caracteres. No obstante, pueden definirse variables de tipo
entero.
typeset o declare usuario
typeset o declare directorio=“/home/alumno”
typeset o declare –i num1 num2 suma=0
• Las variables pueden definirse como de sólo lectura
typeset o declare –r tp=“tp10”
• Las variables pueden exportarse para ser usadas por subprocesos
typeset o declare –x materia=“lsoi”
• Secuenciales
echo
read
• Selectivas
• if
• case
• Repetitivas
• for
• while
• until
• El comando echo permite presentar en pantalla una cadena de
caracteres o el contenido de una variable.
alumno@debian:~$ ./ejemplo1.sh
• Codifique un script que muestre por pantalla el mensaje “APU 2008
– LSOI 2022”.
#!/bin/bash
echo “APU 2008 – LSO I 2022”
$0 $1 $2
if [ condición ]; then
acciones
fi
if [ condición ]; then
acciones
else
acciones
fi
• Las estructuras selectivas pueden anidarse.
if [ condición_1 ]; then
acción_1
else
if [ condición_2 ]; then
acción_2
fi
fi
if [ condición_1 ]; then
acción_1
elif [ condición_2 ]; then
acción_2
fi
• Operadores lógicos
Negación (not): !
Conjunción (and): -a, &&
Disyunción (or): -o, ||
if [ cond1 –a cond2 ];
if [ cond1 –o cond2 ];
if [ cond1 ] && [ cond2 ];
if [ cond1 ] || [ cond2 ];
• Operadores numéricos • Operadores de archivos
-eq (igual) -e (existe)
-ne (distinto) -d (directorio)
-lt (menor que) -f (archivo ordinario)
-le (menor o igual) -r (tiene permiso lectura)
-gt (mayor que) -w (tiene permiso escritura)
-ge (mayor o igual) -x (tiene permiso ejecución)
-s (tamaño mayor que cero)
• Operadores de cadenas
-L (archivo simbólico)
= (igual)
!= (distinto)
-n (cadena no nula)
-z (cadena nula)
• Modifique el ejemplo 3 de modo que se verifique que se cuenta con
suficientes parámetros para realizar la suma.
#!/bin/bash
declare –i suma
if [ $# -eq 2 ]; then
suma=$1+$2
echo “suma: ” $suma
else
echo “error de parámetros”
fi
• Codifique un script que compare 2 valores, pasados por
parámetros, y muestre el mayor. ¿Qué ocurre si los valores son
iguales?
#!/bin/bash
if [ $1 –gt $2 ]; then
echo “el mayor es ” $1
else
echo “el mayor es ” $2
fi
• Codifique un script que determine si un parámetro es un archivo
ordinario y si además tiene tamaño mayor que cero.
#!/bin/bash
if [ -f $1 ]; then
if [ -s $1 ]; then
echo $1 “archivo ordinario, tamaño mayor que
cero”
else
echo $1 “archivo ordinario y vacío”
fi
else
echo $1 “no es un archivo ordinario”
fi
• Codifique un script que busque una cadena en un archivo,
considere que ambos pasados por parámetros. Si la búsqueda
resulta exitosa muestre el mensaje “Cadena encontrada”, caso
contrario presente el mensaje “Deberás seguir buscando”.
#!/bin/bash
grep –i $1 $2 > /dev/null
if [ $? –eq 0 ]; then
echo “Cadena encontrada”
else
echo “Debes seguir buscando”
fi
• El comando case permite elegir entre n caminos alternativos de
acción.
case $valor_variable in
op_1) acciones_1
;;
op_2) acciones_2
;;
op_3) acciones_3
;;
*) otra_acción
;;
esac
• Codifique un script que presente un menú con las siguientes opciones: a)
Mostrar el nombre del usuario, b) Mostrar el tamaño del directorio del
usuario, c) Mostrar los procesos de la terminal actual (formato largo).
#!/bin/bash
echo “a) Mostrar usuario”
echo “b) Mostrar tamaño de directorio personal”
echo “c) Mostrar procesos del usuario”
read –p “Ingrese opción: ” op
case $op in
a|A) whoami
;;
b|B) du –sh ~
;;
c|C) ps -l
;;
*) echo “error de opcion”
;;
esac
FACULTAD DE INGENIERÍA
UNIVERSIDAD NACIONAL DE JUJUY
TRABAJO PRÁCTICO N° 10
SCRIPTS (2)
Comandos (ls, mkdir, tar, ps, gep)
Programas
Lenguaje de Programación
(Scripts) Secuenciales
Estructuras
Selectivas
de Control
Repetitivas
• Las variables de entorno o variables de la Shell permiten
configurar el sistema definiendo valores para la ejecución de los
distintos procesos.
• Ejemplo: PATH, HOME, LANG, USER, PWD
• Variables no modificables
$0 (nombre del comando o programa que se ejecuta)
$1 - $9 (parámetros de un comando o programa)
$*, $@ (todos los parámetros de un comando o programa)
$# (cantidad de parámetros de un comando o programa)
$$ (id del proceso actual)
$? (resultado del último comando, correcto o incorrecto)
$! (id del proceso en segundo plano más reciente)
• Secuenciales
echo
read
• Selectivas
• if
• case
• Repetitivas
• for
• while
• until
• El comando for permite repetir un conjunto de acciones un número
definido de veces o de acuerdo a una lista de datos.
for((i=0;$i<=$variable;i=$i+1))
do
acciones
done
shift
done
• Codifique un script que sume todos los parámetros del programa.
#!/bin/bash
declare –i suma=0
while [ -n “$1” ]
do
suma=$suma+$1
shift
done
echo “Suma: ” $suma
• Codifique un script que muestre el tamaño de los archivos
ordinarios o directorios pasados como parámetros al programa.
Incluya los controles necesarios.
#!/bin/bash
while [ -n “$1” ]
do
if [ -f $1 –o –d $1 ];then
du –sh $1
fi
shift
done
• Codifique un script que muestre de forma indefinida un mensaje
pasado por parámetro. Agregue una pausa de 2 segundos entre cada
mensaje.
#!/bin/bash
while true
do
echo $@
sleep 2
done
• Codifique un script que muestre el nombre de usuario, ID y
directorio home de los usuarios del sistema.
#!/bin/bash
while read linea
do
usuario=$(echo $linea | cut –f1 –d “:”)
id_usuario=$(echo $linea | cut –f3 –d “:”)
home_usuario=$(echo $linea | cut –f6 –d “:”)
echo “Nombre usuario: ” $usuario
echo “ID: ” $id_usuario
echo “Directorio personal: ” $home_usuario
done < /etc/passwd
• El comando until permite repetir un conjunto de acciones en tanto
la condición de repetición sea FALSA
until [ condición ]
do
acciones
done