Código de Linux/Unix Shell Scripting - Listado de usuarios con información de su home

Imágen de perfil
Val: 44
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Listado de usuarios con información de su homegráfica de visualizaciones


Linux/Unix Shell Scripting

Publicado el 27 de Noviembre del 2013 por Xavi (533 códigos)
4.503 visualizaciones desde el 27 de Noviembre del 2013
Código que obtiene el listado de usuarios con un id igual o superior a 500, y busca en la home de cada usuario devolviendo:
- El tamaño que ocupan sus archivos.
- El archivo más pequeño
- El archivo más grande
También busca en la carpeta del usuario root.

Versión 1

Publicado el 27 de Noviembre del 2013gráfica de visualizaciones de la versión: Versión 1
4.504 visualizaciones desde el 27 de Noviembre del 2013
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
 
# http://www.lawebdelprogramador.com
 
# obtiene el usuario root y lo guarda en el archivo "listadoUsuarios"
cut -d: -f 1,6 /etc/passwd | grep ^'root:'> listadoUsuarios
 
# obtiene los usuarios con id igual o superior a 500 y los guarda en el
# archivo "listadoUsuarios"
cut -d: -f 1,3,6 /etc/passwd | awk -F: '{if($2>=500) print $1":"$3}' >> listadoUsuarios
 
# recorremos todos los usuarios
cat listadoUsuarios | while read usuario;do
    username=`echo $usuario | cut -d: -f1`
    path=`echo $usuario | cut -d: -f2`
 
    # inicializamos las variables
    discUsage=0
    archivoPequeno=""
    archivoGrande=""
 
    # si el path del usuario existe
    if [ -d "$path" ];then
 
        # obtenemos el tamaño del mismo
        discUsage=`du -sh $path | awk '{print $1}'`
 
        # obtenemos el archivo mas pequeño
        archivoPequeno=`find $path -type f -printf "%s %P\n" | sort -n | head -1`
 
        # obtenemos el archivo mas grande
        archivoGrande=`find $path -type f -printf "%s %P\n" | sort -n | tail -1`
    else
        discUsage="No existe directorio"
    fi
 
    # mostramos los resultados
    echo $username
    echo '\tpath:\t\t\t'$path
    echo '\tutilizacion de disco:\t'$discUsage
    echo '\tarchivo mas pequeno:\t'$archivoPequeno
    echo '\tarchivo mas grande:\t'$archivoGrande
done



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2545