Sie sind auf Seite 1von 5

script que permite ver los usuarios que estn conectados al sistemas,

cantidad de conexiones por usuario, la cantidad de usuarios conectados y


cuantos usuarios son los reales.
#! /bin/sh
# cantidad de usuarios conectados
uconn=`who | wc -l | sed 's/^ *//g'`
# cantidad de usuarios reales
ureal=`who | cut -f1 -d ' ' | sort -u | wc -l | sed 's/^ *//g'`
# mostrar usuarios con el num. de veces que esta conectado
who | cut -f1 -d ' ' | uniq -c | sort | sed 's/^ *//g'
#
#
#
#
#
#
#
#
#
#

explicacion (para el que no entienda)


who
mostrar todos los usuarios
cut -f1 -d ' '
obtener solo los nombres
uniq -c
obtener cantidad de repeticiones
sort
ordenar por numero de conexiones
sed 's/^ *//g' eliminar espacios en blanco al
al principio de la linea.
eso es para todo, ya que algunos
programas mantienen un largo numerico
para mostrar en la salida.

# imprimir informacion
echo "connected: $uconn"
echo "reales : $ureal"

Shell Script Enero 4. Escribir un programa copiabin.sh que mueva todos los
programas del directorio actual (archivos ejecutables) hacia el subdirectorio bin
del directorio propio del usuario, muestre los nombres de los que mueve e
indique cuntos ha movido o que no ha movido ninguno. Si el directorio bin no
existe, deber ser creado.
#!/bin/bash
#4. Escribir un programa copiabin.sh que mueva todos los programas del directorio actual (archivos
ejecutables) hacia el subdirectorio bin del directorio propio del usuario, muestre los nombres de los
que mueve e indique cuntos ha movido o que no ha movido ninguno. Si el directorio bin no existe,
deber ser creado.
if [[ $# -gt 1 ]]
then
echo "Horror!! Uso "$0" nombrearchivo "

exit
fi
nombreusuario=`id -un`
echo $nombreusuario
carpeta=`cat /etc/passwd | grep $nombreusuario | cut -d: -f6`
echo $carpeta
#carpeta= `echo $carpeta/bin 2>/dev/null`
#carpeta= `echo "$carpeta/bin"`
#carpetabin= `echo "$carpeta"/bin`
if [ -d $carpeta/bin ]
then
echo "La carpeta bin existe"
else
echo "Creando carpeta bin en carpeta de usuario"
mkdir $carpeta/bin
fi
ls > ficheros.txt
while read linea
do
echo $linea
if [ -f "$linea" ]
then
if [ -x "$linea" ]
then
cp $linea $carpeta/bin
fi
fi
done < ficheros.txt

Shell Script Enero 3. Realizar un script que permita copiar un archivo pasado
como parmetro en un directorio cualquiera tambin pasado como parmetro,
antes de copiar comprobar si el archivo se puede leer.
#!/bin/bash
#3. Realizar un script que permita copiar un archivo pasado como parmetro en un directorio
cualquiera tambin pasado como parmetro, antes de copiar comprobar si el archivo se puede leer.
if [[ $# -gt 3 ]]
then
echo "Horror!! Uso "$0" nombrearchivo "
exit
fi
archivo=$1
carpeta=$2
if [ -r $nombre ]
then
cp $archivo $carpeta
fi

Shell Script Enero 2. Recibir un nombre de archivo como parmetro e indicar,


imprimiendo todas las leyendas que correspondan, si el archivo es legible,
modificable y ejecutable por el usuario.
#!/bin/bash
#2. Recibir un nombre de archivo como parmetro e indicar, imprimiendo todas las leyendas que
correspondan, si el archivo es legible, modificable y ejecutable por el usuario.
if [[ $# -gt 2 ]]
then
echo "Horror!! Uso "$0" nombrearchivo "
exit
fi
archivo=$1
if [ -f $nombre ]
then
if [ -r $nombre ]
then
echo "El archivo $archivo se puede leer"
else
echo "El archivo $archivo no se puede leer"
fi
if [ -w $nombre ]
then
echo "El archivo $archivo se puede escribir"
else
echo "El archivo $archivo no se puede escribir"
fi
if [ -x $nombre ]
then
echo "El archivo $archivo se puede ejecutar"
else
echo "El archivo $archivo no se puede ejecutar"
fi
fi

Shell Script Enero 1. Hacer un script que visualice un men de tres opciones, la
primera borra un fichero ledo por teclado, la segunda visualiza un fichero
tambin ledo por teclado y la tercera sale del programa
#!/bin/bash
#1. Hacer un script que visualice un men de tres opciones, la primera borra un fichero ledo por
teclado, la segunda visualiza un fichero tambin ledo por teclado y la tercera sale del programa
function menu {
echo "1. Borrar fichero."
echo "2. Visualizar fichero."
echo "3. Salir."
echo "Introduce una opcin:"
}
until [[ $opcion -eq 3 ]]
do
menu
read opcion
#echo $opcion
if [[ $opcion -eq 1 ]] ;then
echo "Opcin 1 seleccionada"
read -p "Introduce el nombre del archivo" nombre
#echo $nombre
if [ -f $nombre ]
then
rm $nombre
fi
elif [[ $opcion -eq 2 ]] ; then
echo "Opcin 2 seleccionada"
read -p "Introduce el nombre del archivo" nombre
$echo $nombre
if [ -f $nombre ]
then
cat $nombre
fi
else
echo "Saliendo del programa..."
fi
done

Das könnte Ihnen auch gefallen