You are on page 1of 3

#!

/bin/bash

clear
if test -d ./backup_dir
then
echo -e “directorio ./backup_dir existe…\n”
else
mkdir ./backup_dir
fi
for archivo in *
do
if test -f $archivo
then
cp $archivo ./backup_dir
fi
done

#!/bin/bash

clear
if test -d $2
then
echo -e “$2 es un directorio valido…\n”
grep -w $1 $2
if test $? -eq 0
then
echo -e “El archivo $1 se encuentra en el directorio $2\n”
fi
else
echo -e “$2 NO es un directorio valido…\n”
fi

#!/bin/bash
clear
echo -e "Ingrese un nombre de usuario : \c"
read USUARIO
id $USUARIO 1>/dev/null 2>/dev/null
ERROR=$?
if test $ERROR -ne 0
then
echo "El usuario $USUARIO no existe
sleep 10s
exit
fi
NOMBRE=`id $USUARIO | cut -f1 -d" " `
echo "\(UID\) y nombre: $NOMBRE"
GRUPO1=`id $USUARIO | cut -f2 -d" "`
echo "\(GID\) y grupo primario: $GRUPO1"
if test `id $USUARIO | tr " " "\n" | wc -l` -gt 2
then
GRUPOS2=`id $USUARIO | cut -f3 -d" "`
echo "\(GIDs\) y grupos secundarios: $GRUPOS2"
fi
p
la otra forma

1.-       Escribir un Shell script que permita registrar en un archivo llamadocantidad_archivos, cuantos archivos y
cuantos directorios hay en el directorio actual detrabajo.  (20 puntos)
#!/bin/bash
clear
cant_archivos=0
cant_directorio=0
for archivo in *
do
                if test –f $archivo
                then
                               cant_archivos=$(echo $cant_archivos+1 | bc)
                else
                               if test –d $archivo
                               then
cant_directorios=$(echo $cant_directorios+1 | bc)
fi
fi
done
echo “Cantidad de archivos: $cant_archivos” > cantidad_archivos
echo “Cantidad de directorios: $cant_directorios” >> cantidad_archivos
2.-       Escribir un script Shell que permita recibir dos archivos como argumentos, el script debe validar que los
parámetros recibidos sean realmente archivos y que el primer archivo (archivo de entrada) dado como argumento no
está vacío,  luego deberá guardar en el otro archivo (archivo de salida), las líneas que comienzan con una vocal
(mayúscula o minúscula) del archivo de entrada. (25 puntos)
#!/bin/bash
clear
if test –f $1 && test –f $2
then
                if test –s $1
                then
                               grep –i “^aeiou” $1 > $2
fi
fi
3.-       Todas las cuentas de usuarios poseen una entrada en el archivo /etc/passwd, aún cuando algunos de estos
usuarios nunca hayan llegado a abrir una sesión. A estos usuarios los llamaremos “usuarios inactivos”. Si un usuario
es inactivo, el comando finger mostrará “Never logged in.”
#finger alumno
Login: alumno Name: Alumno DUOC UC
Directory: /home/alumno Shell: /bin/bash
Never logged in.
No mail.
No Plan.
Escribir un Shell script que permita listar los usuarios inactivos del sistema al  momento de la ejecución del script. (25
puntos)
#!/bin/bash
clear
for USUARIO in $(cut –f 1 –d \: /etc/passwd)
do
finger $USUARIO | grep –i  “Never logged in.”
if test $? –eq 0
                then
                               echo –e “$USUARIO es un usuario inactivo\n”
                fi
done

You might also like