My useful bash tools for developer work.
bash_tools is a collection of Bash scripts and utilities designed to enhance developers' productivity. It provides tools for common development tasks, system administration, and automation.
The project is organized as follows:
-
bin/- The main directory containing all categorized Bash scripts:_backup/— Scripts for creating, managing, and restoring system backups._datetime/— Utilities for working with dates, times, and scheduling operations._db/— Database management scripts including backups, queries, and administration tools._device/— Scripts for managing system devices, peripherals, and hardware interactions._docker/— Docker container management utilities, image handling, and containerization tools._dropbox/— Integration scripts for Dropbox file synchronization and cloud operations._fs/— File system management tools for searching, organizing, copying, and file operations._git/— Git helper utilities including branch management, commit operations, and version control shortcuts._install/— Installation scripts for software packages, environments, and system setup automation._k8s/— Kubernetes tools for cluster management, deployments, monitoring, and container orchestration._kbd/— Keyboard utilities, shortcut management, and input device configuration tools._mem/— Memory monitoring, optimization tools, and system performance utilities._mnt/— Mount point management scripts for file systems, drives, and network shares._net/— Network utilities for diagnostics, connectivity testing, and network configuration._other/— Miscellaneous utilities that don't fit into specific categories._prg/— Process monitoring, system administration, and program management tools._rc/— Shell environment configuration scripts and terminal customization tools._sites/— Web-related automation scripts for site management and deployment tasks._ssh/— SSH connection tools, key management, and remote server administration utilities._tmp/— Temporary scripts for ad-hoc tasks, prototyping, and one-time operations._tools/— General-purpose tools and utilities for various development and system tasks._vpn/— VPN setup, configuration, and management scripts.
-
add2.bashrc:- Script for appending bash_tools configurations to your
.bashrcfile for easy environment setup.
- Script for appending bash_tools configurations to your
-
install_links:- Utility script for creating symbolic links and setting up the project environment.
-
LICENSE:- Contains the project's licensing terms and conditions.
-
README.md:- Main documentation file providing project overview and usage instructions.
-
sample.bash_bin:- Example configuration file demonstrating how to extend and use the project tools.
To use bash_tools, you need:
- A Unix-based operating system (Linux or other Unix-like systems)
- Bash shell version 4.0 or higher
- Standard Unix utilities and commands
- Comprehensive Tool Collection: Over 20 categories of scripts covering development, system administration, and automation tasks
- Organized Structure: Logically categorized scripts for easy navigation and discovery
- Modular Design: Each script operates independently and can be combined for complex workflows
- Cross-Platform Compatibility: Works on most Unix-like systems
- Easy Integration: Simple setup process with environment configuration scripts
- Extensible Framework: Easy to add custom scripts or modify existing ones
-
Clone the Repository:
git clone <repository-url> cd bash_tools
-
Set Up Environment:
- Use the provided configuration script:
./add2.bashrc
- Or manually add to your
.bashrc:export PATH="$PATH:/path/to/bash_tools/bin" # Add individual categories as needed export PATH="$PATH:/path/to/bash_tools/bin/_git" export PATH="$PATH:/path/to/bash_tools/bin/_docker" # ... etc
-
Create Symbolic Links (optional):
./install_links
-
Reload Your Shell:
source ~/.bashrc
-
Start Using the Tools:
- Browse the
bin/directory to find relevant scripts - Run scripts directly from the terminal once PATH is configured
- Review Before Execution: Always examine scripts before running them, especially those that modify system settings or files
- Backup Important Data: Use backup scripts in
_backup/before making significant system changes - Test in Safe Environment: Test scripts in a development environment before using in production
- Read Documentation: Check inline comments and documentation within individual scripts
The following are excluded from version control via .gitignore:
/.idea/- IDE-specific configuration files- Files and directories matching
/__*patterns - Temporary files and build artifacts
This project is distributed under the terms specified in the LICENSE file.
For additional help, refer to individual script documentation or open an issue in the project repository.