Skip to content

A collection of practical Bash utility tools for automation, file management, and system tasks.

License

Notifications You must be signed in to change notification settings

nipudarsh/bash-utility-tools

Repository files navigation

🛠️ Bash Utility Tools – Industry-Ready Automation Toolkit

A curated collection of real-world, production-style Bash utilities designed to solve everyday system problems such as file organization, backup & sync, cleanup, and network health monitoring.

This repository is project-based, industry-oriented, and built to demonstrate:

  • Strong Bash scripting skills
  • Professional Git & GitHub workflow
  • Automation, safety, and recoverability
  • Documentation-first engineering mindset

🔹 Project Overview

📂 File Organizer

Automatically organizes files into folders based on type.

Key Features

  • Safe file movement (no directories affected)
  • Undo / recovery support
  • Modular and extensible
  • Production-safe logging

📁 Path: file-organizer/


🖥️ File Organizer with User Interface

Enhanced version of the file organizer with an interactive interface.

Key Features

  • Menu-driven interface
  • User input validation
  • Safe operations with logs
  • Beginner-friendly UX

📁 Path: file-organizer-with-user-interface/


🔄 Backup & Sync Utility

A reliable backup and synchronization tool.

Key Features

  • One-way and two-way sync
  • Dry-run mode
  • Timestamped backups
  • Logging and recovery awareness

📁 Path: backup-sync-utility/


🧹 Smart Cleanup Utility

Detects duplicate files and safely cleans up storage.

Key Features

  • Duplicate file detection
  • Safe delete (trash instead of permanent delete)
  • Recovery-friendly design
  • Clear reporting

📁 Path: smart-cleanup/


🌐 Network Health Checker

Checks and reports system network status.

Key Features

  • Connectivity checks
  • DNS and gateway testing
  • Logging and reporting
  • Designed for troubleshooting

📁 Path: network-health-checker/


⚙️ Prerequisites

  • Linux environment (recommended)
  • Bash 4+
  • Git

⚠️ Some tools may require Linux utilities such as ip, ping, or rsync


🚀 How to Use Any Tool

  1. Navigate to the project folder: bash cd project-name/src

  2. Make the script executable:

    bash chmod +x script-name.sh

  3. Run the tool:

    bash ./script-name.sh

  4. Check project-specific README.md for advanced usage, undo, and recovery options.


🧠 Learning & GitHub Workflow

This repository follows industry-grade Git practices:

  • Feature branches for new functionality
  • Pull Requests for merging changes
  • Issues for improvements and bugs
  • Tags and releases for versions
  • Daily commits for continuous learning

Example workflow:

git checkout -b feature/add-logging git commit -m "feat: add structured logging" git push origin feature/add-logging


🏆 Why This Repository Matters

✔ Demonstrates real automation tools ✔ Shows safe, production-aware scripting ✔ Highlights GitHub collaboration skills ✔ Designed for recruiters and industry review ✔ Built with consistency and documentation


📜 License

This project is licensed under the MIT License. See the LICENSE file for details.


👤 Author

nipudarsh

  • Focus: Automation, Bash scripting, system utilities
  • Learning path: Beginner → Industry → Advanced tools
  • Goal: Build real tools, not demos

⭐ If you find this repository useful, consider starring it.


About

A collection of practical Bash utility tools for automation, file management, and system tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published