Drush is a shell and command line interface for drupal where in you can do 90% of the routine tasks quicker; whether you are maintaining or developing a site. Drush is such an indispensable tool that you can really break down your developer experience in two ages: BD (before Drush) and AD (After Drush). If you were lured by a module in BD age, the drill was something like:
- Find the module project page.
- Choose the correct module version number.
- Download or checkout (CVS) the correct module version.
- Place the module directory into your sites/all/modules (or wherever).
- Locate the module amidst the long list at admin/build/modules page.
- Choose the module and install it.
This experience often made me feel like a click zombie and my development environment and methodologies as a den of time suckage. Really there are more sadistic drills in the drupal verse when you talk about BD. Then came drush, messiah for the click zombies who wanted to mend and do more and they did find happily ever after. The above drill is achieved in 2 steps in AD:
- drush dl <module name> ( It will find the correct stable version depending on your site configuration and drupal version or you could specify version num for advance usage. Neat? )
- drush en <module name> ( Would prompt you to enable dependencies if any)
All this at the coziness of your terminal, above is one scenario among many time sucking and boring routines. Drush can do much more, it can empty your cache, it can update your site from command line, it can do releases and hundred other things. So much thanks to Arto, Moshe Weitzman, Owen Barton, Adrian Rossouw, greg.1.anderson and other drush contributors for making drush and liberating thousands of click zombies whose life otherwise would have been a lot less productive.