LINUX

Script de shell para encontrar directorios grandes

En el tutorial, veremos un script de shell que puede encontrar rápidamente el directorio más grande en un servidor Linux. Esto es muy útil si desea limpiar espacio en su sistema de archivos.

El script de shell muestra un número X de directorios que consumen espacio en una ruta de directorio determinada. En el script he usado el comando du, luego los comandos sort y head.

Script para encontrar directorios más grandes

Veamos cómo escribir un script para encontrar los directorios principales de la siguiente manera:

#/bin/bash

#check if user input argument

if [ $# -eq 0 ]; then

#if no argument print next messge and exit from script
echo "Usage: $0 "

exit 1

fi
# Save first arguments to variables
CheckedDir="$1"
#
HeadValue=$2
#set value for variable count value 1
count=1

#just print empty line
echo ""

#Print next message:
echo "Here is the ${HeadValue} biggest directories located in ${CheckedDir}:"

echo ""

#Getting list of directories and space they use.
du -a --max-depth=1 --one-file-system ${CheckedDir}/ |

#next we sort result
sort -rn |

sed "1d" |

# next we get only first X directories
head -"${HeadValue}" |

#next print result to user
while read size dirrr ; do
#counting size in Mb

size="$(( size / 1024 ))"

#show output for user
echo "N°${count} : ${dirrr} is ${size} Mb"

((count++))

done

echo ""

Salida de secuencia de comandos

./top5dir.sh /home/yevhen/

Here is the biggest directories located in /home/yevhen/:

N°1 : /home/yevhen//Fly is 14043 Mb

N°2 : /home/yevhen//VirtualBox VMs is 5837 Mb

N°3 : /home/yevhen//Downloads is 2224 Mb

N°4 : /home/yevhen//.icedove is 963 Mb

N°5 : /home/yevhen//Downloads is 645 Mb

N°6 : /home/yevhen//.wine is 602 Mb

N°7 : /home/yevhen//.cache is 324 Mb

N°8 : /home/yevhen//Dropbox is 324 Mb

N°9 : /home/yevhen//.config is 263 Mb

N°10 : /home/yevhen//.local is 153 Mb

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar