A technical collection of Bash scripts showcasing practical skills in Linux system usage, automation, and shell scripting. The repository focuses on clarity, safety, and usefulness, avoiding toy examples in favor of scripts designed for real environments.
Each script solves a concrete problem related to system maintenance, automation, or developer workflows.
This project demonstrates the ability to:
- Write clean and readable Bash scripts
- Automate repetitive tasks on a Linux system
- Work confidently with the Linux filesystem and command-line tools
- Handle permissions, processes, and package management
- Structure scripts in a maintainable and reusable way
- Apply basic safety practices (error handling, privilege checks)
- Organize a technical project professionally for GitHub
The focus is on practical Bash and Linux skills, presented in a clear and structured manner.
bash-projects/
β
βββ README.md
βββ LICENSE
βββ CONTRIBUTING.md
β
βββ fundamentals/ # Bash fundamentals and syntax
β βββ file_checker.sh
β βββ line_counter.sh
β βββ timer.sh
β
βββ automation/ # Practical system automation
β βββ update-and-clean.sh # System update and cleanup
β βββ organize-downloads.sh
β βββ backup_documents.sh
β βββ notify_reminder.sh
β
βββ devtools/ # Scripts for development workflows
β βββ dev_setup.sh
β βββ autodeploy.sh
β βββ db_reset.sh
β βββ log_monitor.sh
β
βββ advanced/ # More complex scripts and tools
β βββ redcheck_cli.sh
β βββ smart_backup.sh
β βββ linux_bootstrap.sh
β
βββ utils/ # Shared functions and helpers
β βββ colors.sh
β βββ io.sh
β βββ logging.sh
β
βββ tests/ # Basic script tests
β βββ test_file_checker.sh
β βββ test_backup.sh
β
βββ docs/ # Notes and documentation
βββ bash_style_guide.md
βββ how_to_debug.md
βββ ideas.md
- Variables, conditionals, loops
- Functions and modular scripts
- Argument parsing
- Colored terminal output
- Exit codes and basic error handling
- Filesystem navigation and organization
- Permissions and privilege escalation
- Package management (APT)
- System cleanup and maintenance
- Log inspection and monitoring
- Replacing manual system tasks with scripts
- Writing scripts suitable for cron execution
- Creating reproducible workflows
- Logical project structure
- Separation of concerns
- Reusable utility files
- Basic testing of scripts
chmod +x script_name.sh./script_name.shsource utils/colors.shSome scripts include simple test files located in the tests/ directory. These tests are intended to:
- Verify expected behavior
- Catch basic errors
- Encourage disciplined scripting practices
This project is licensed under the MIT License.
This repository represents a snapshot of practical skills in Bash scripting and Linux usage. It is designed to evolve over time as more advanced automation and tooling are added.
The emphasis is on working solutions, clarity, and technical understanding rather than buzzwords or overengineering.
Happy scripting π§