Linux menu

Wednesday, September 17, 2014

Shell Script To Find Directories Which Consume Highest Space

#/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 “”

Script Output

./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

No comments: