A user-friendly command-line tool for Ubuntu that makes creating archives (tar.gz, zip, etc.) quick and easy with smart defaults.
- 🚀 Simple, intuitive command-line interface
- 📦 Support for multiple formats: tar.gz, tar.bz2, tar.xz, zip
- 🎯 Smart defaults - just specify what you want to pack
- 🚫 Built-in exclude patterns for common files
- ✨ Colorful output with progress indicators
- 🔒 Safety checks to prevent accidental overwrites
curl -sSL https://raw.githubusercontent.com/strabo231/pack/main/install.sh | bash- Download the script:
wget https://raw.githubusercontent.com/strabo231/pack/main/pack- Make it executable:
chmod +x pack- Move to your PATH:
sudo mv pack /usr/local/bin/Package a directory (creates myproject.tar.gz):
pack myprojectCreate a zip file:
pack -f zip myprojectCustom output name:
pack myproject backup-2024Save to specific directory:
pack -o ~/backups myprojectExclude node_modules and log files:
pack -e "node_modules" -e "*.log" myprojectCreate compressed backup with multiple exclusions:
pack -f tar.bz2 -e ".git" -e "*.cache" -o ~/backups myprojectQuiet mode (only show errors):
pack -q myprojecttar.gz- Gzip compressed tar (default, best balance)tar.bz2- Bzip2 compressed tar (smaller, slower)tar.xz- XZ compressed tar (smallest, slowest)zip- Zip archive (compatible with Windows)
pack [OPTIONS] <source> [output_name]
Arguments:
source File or directory to package
output_name Optional custom name (without extension)
Options:
-f, --format Archive format (tar.gz, zip, tar.bz2, tar.xz)
-o, --output Output directory (default: current directory)
-e, --exclude Exclude pattern (can be used multiple times)
-q, --quiet Suppress non-error output
-h, --help Show help message
-v, --version Show version information
Standard archiving commands are powerful but cumbersome:
Before:
tar -czf myproject-backup-$(date +%Y%m%d).tar.gz \
--exclude=node_modules \
--exclude=*.log \
-C /path/to myprojectAfter:
pack -e "node_modules" -e "*.log" myproject myproject-backup-$(date +%Y%m%d)- Ubuntu 18.04+ (or any modern Linux distribution)
- bash 4.0+
- Standard utilities: tar, zip, du
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details
- Auto-detection of optimal compression format
- Progress bar for large archives
- Parallel compression support
- Configuration file support (~/.packrc)
- Archive extraction mode
- Cloud storage integration (S3, Drive)
Your Name - @tattlesnitch
Project Link: https://github.com/strabo231/pack
- Initial release
- Support for tar.gz, tar.bz2, tar.xz, and zip formats
- Exclude pattern support
- Colorful CLI output
- Safety checks for overwrites