90 Snippets: What could be more fun than freeing storage? 🥸
90 Projects towards mastery - Day 09 💀
Table of contents
- Understanding the Script's Purpose
- Your Guide to Usage: The "man" Function
- Displaying Storage Information
- Uncovering Hidden Giants: The "display_large" Function
- Decluttering Your System: The "clean" Function
- The Core of Execution: The "main" Function
- Conclusion: Navigating Storage Management with Confidence
Howdy, fellow coding enthusiasts! Astro here, excited to take you on a detailed journey through a remarkable shell script called "cleaner." In this article, we'll delve deep into the inner workings of the script, dissecting its code step by step. Join me as we explore how "cleaner" offers a comprehensive solution for displaying storage information, identifying large files, and even cleaning up unnecessary clutter. So grab your coding beverage of choice, and let's dive in!
Understanding the Script's Purpose
The "cleaner" script is a versatile tool designed to aid in storage management tasks. Its main objectives include displaying storage information (total, used, available), identifying large files, and suggesting the removal of redundant files to free up valuable disk space. But the magic lies in the code that powers these functionalities.
#!/bin/bash
# Colors
BOLD_RED="\033[1;31m"
BOLD_CYAN="\033[1;36m"
# ... (other color definitions)
RESET="\033[0m"
The script begins by setting the stage with color definitions. Each color code will be used to enhance the output's readability and user experience, turning plain text into a visually engaging interface.
Your Guide to Usage: The "man" Function
function man(){
echo -e "${BOLD_RED}NAME${RESET}"
# ... (other manual content)
}
The "man" function isn't just an introduction; it's your guidebook to utilizing "cleaner" effectively. Detailing the script's purpose and options, it provides a clear path for users to explore its capabilities.
Displaying Storage Information
function display_total(){
echo -e "${BOLD_MAGENTA}Total storage:${RESET}"
df -h --total | grep -vE "tmpfs|udev|loop|Filesystem|none" | awk '{ print $1 }' > ./titles
df -h --total | grep -vE "tmpfs|udev|loop|Filesystem|none" | awk '{ print $2 }' > ./values
c_display values titles
}
The script deepens its functionality with display_total
. This function showcases the power of combining commands, using df
to fetch storage information and awk
to extract the relevant details for presentation.
Uncovering Hidden Giants: The "display_large" Function
function display_large(){
echo -e "${BOLD_MAGENTA}Large files:${RESET}"
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{ print $9 }' > ./titles
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{ print $5 }' > ./values
c_display values titles
}
Ever wanted to find those space-hogging files? The "display_large" function steps in with finesse. By employing the find
command and cleverly parsing the output, it compiles a list of large files to help you decide which ones to trim.
Decluttering Your System: The "clean" Function
function clean(){
# ... (other cleaning operations)
}
The "clean" function, a standout feature of the script, targets the clutter we often ignore. It covers bases like cache, trash, and old files, giving users the power to decide what stays and what goes, enhancing system efficiency.
The Core of Execution: The "main" Function
function main(){
if [ $# -eq 0 ]; then
echo -e "${BOLD_RED}No arguments provided${RESET}"
echo -e "${BOLD_RED}Try 'cleaner --help' for more information${RESET}"
exit 1
fi
while [ $# -gt 0 ]; do
case $1 in
-h|--help)
man
;;
-t|--total)
display_total
;;
-u|--used)
display_used
;;
-a|--available)
display_available
;;
-l|--large)
display_large
;;
-c|--clean)
clean
;;
*)
echo -e "${BOLD_RED}Unknown option: $1${RESET}"
;;
esac
shift
done
}
At the heart of the script lies the "main" function, where all the magic happens. It processes command-line arguments, orchestrates the script's operations, and ensures users experience a smooth and streamlined interaction.
Conclusion: Navigating Storage Management with Confidence
As we conclude our exploration of the "cleaner" script, it's evident that this script isn't just about code—it's about convenience, empowerment, and smart storage management. With its rich features, user-friendly interface, and efficient execution, "cleaner" is a remarkable addition to any tech enthusiast's toolkit.
So there you have it, fellow coders—a deep dive into the "cleaner" script. As you incorporate its functionalities into your workflows, may you find yourself embracing tidier, more efficient systems and enjoying the benefits of a clutter-free digital environment.
Happy coding!