How to Find Largest Directories using Shell Script

This script is very useful if a user needs to quickly clean up space and it helps to check which directories take most of space and the delete according to your wish. Below shell script shows X number of directories that consume space in a given directory path. Commands used are du with different keys, then sort and head commands.

Find directories Consume Largest Space - Script

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

 

Bobbin Zachariah 7:37 am

Comments

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.