Core drush commands

archive-dumpBackup your code, files, and database into a single file.
archive-restoreExpand a site archive into a Drupal web site.
cache-clearClear a specific cache, or all drupal caches.
cache-getFetch a cached object and display it.
cache-setCache an object expressed in JSON or var_export() format.
core-configEdit drushrc, site alias, and Drupal settings.php files.
core-cronRun all cron hooks in all active modules for specified site.
core-executeExecute a shell command. Usually used with a site alias.
core-quick-drupalDownload, install, serve and login to Drupal with minimal configuration and dependencies.
core-requirementsProvides information about things that may be wrong in your Drupal installation, if any.
core-rsyncRsync the Drupal tree to/from another server using ssh.
core-statusProvides a birds-eye view of the current Drupal installation, if any.
core-topicRead detailed documentation on a given topic.
drupal-directoryReturn path to a given module/theme directory.
helpPrint this help message. See `drush help help` for more options.
image-flushFlush all derived images for a given style.
php-evalEvaluate arbitrary php code after bootstrapping Drupal (if available).
php-scriptRun php script(s).
queue-listReturns a list of all defined queues
queue-runRun a specific queue by name
search-indexIndex the remaining search items without wiping the index.
search-reindexForce the search index to be rebuilt.
search-statusShow how many items remain to be indexed out of the total.
shell-aliasPrint all known shell alias records.
site-aliasPrint site alias records for all known site aliases and local sites.
site-installInstall Drupal along with modules/themes/configuration using the specified install profile.
site-setSet a site alias to work on that will persist for the current session.
site-sshConnect to a Drupal site's server via SSH for an interactive session or to run a shell command
test-cleanClean temporary tables and files.
test-runRun tests. Note that you must use the --uri option.
updatedbApply any database updates required (as with running update.php).
updatedb-statusList any pending database updates.
usage-sendSend anonymous Drush usage information to statistics logging site. Usage statistics contain the Drush command name and the Drush option names, but no arguments or option values.
usage-showShow Drush usage information that has been logged but not sent. Usage statistics contain the Drush command name and the Drush option names, but no arguments or option values.
variable-deleteDelete a variable.
variable-getGet a list of some or all site variables and values.
variable-setSet a variable.
versionShow drush version.
watchdog-deleteDelete watchdog messages.
watchdog-listShow available message types and severity levels. A prompt will ask for a choice to show watchdog messages.
watchdog-showShow watchdog messages.

Runserver commands

runserverRuns a lightweight built in http server for development.

Field commands

field-cloneClone a field and all its instances.
field-createCreate fields and instances. Returns urls for field editing.
field-deleteDelete a field and its instances.
field-infoView information about fields, field_types, and widgets.
field-updateReturn URL for field editing web page.

Project manager commands

pm-disableDisable one or more extensions (modules or themes).
pm-downloadDownload projects from drupal.org or other sources.
pm-enableEnable one or more extensions (modules or themes).
pm-infoShow detailed info for one or more extensions (modules or themes).
pm-listShow a list of available extensions (modules and themes).
pm-refreshRefresh update status information.
pm-releasenotesPrint release notes for given projects.
pm-releasesPrint release information for given projects.
pm-uninstallUninstall one or more modules.
pm-updateUpdate Drupal core and contrib projects and apply any pending database updates (Same as pm-updatecode + updatedb).
pm-updatecodeUpdate Drupal core and contrib projects to latest recommended releases.
pm-updatestatusShow a report of available minor updates to Drupal core and contrib projects.

Role commands

role-add-permGrant a specified permission to a role.
role-createCreate a new role.
role-deleteDelete a role.
role-listDisplay a list of all roles defined on the system. If a role name is provided as an argument, then all of the permissions of that role will be listed. If a permission name is provided as an option, then all of the roles that have been granted that permission will be listed.
role-remove-permRemove a specified permission from a role.

SQL commands

sql-cliOpen a SQL command-line interface using Drupal's credentials.
sql-connectA string for connecting to the DB.
sql-createCreate a database.
sql-dropDrop all tables in a given database.
sql-dumpExports the Drupal DB as SQL using mysqldump or equivalent.
sql-queryExecute a query against the site database.
sql-sanitizeRun sanitization operations on the current database.
sql-syncCopy and import source database to target database. Transfers via rsync.

User commands

user-add-roleAdd a role to the specified user accounts.
user-blockBlock the specified user(s).
user-cancelCancel a user account with the specified name.
user-createCreate a user account with the specified name.
user-informationPrint information about the specified user(s).
user-loginDisplay a one time login link for the given user account (defaults to uid 1).
user-password(Re)Set the password for the user account with the specified name.
user-remove-roleRemove a role from the specified user accounts.
user-unblockUnblock the specified user(s).

Other commands

makeTurns a makefile into a working Drupal codebase.
make-generateGenerate a makefile from the current Drupal site.

Global Options (see `drush topic core-global-options` for the full list)

-d, --debug Display even more information, including internal messages.
-h, --help This help system.
-n, --no Assume 'no' as answer to all prompts.
-r <path>, --root=<path> Drupal root directory to use (default: current directory).
-s, --simulate Simulate all relevant actions (don't actually change the system).
-l <http://example.com:8888>, --uri=<http://example.com:8888> URI of the drupal site to use (only needed in multisite environments or when running on an alternate port).
-v, --verbose Display extra information about the command.
-y, --yes Assume 'yes' as answer to all prompts.

Command detail

archive-dump
Backup your code, files, and database into a single file.

Examples:
 drush archive-dump                        Write an archive containing 3 sites in it.                
 default,example.com,foo.com                                                                         
 drush archive-dump @sites                 Save archive containing all sites in a multi-site.        
 drush archive-dump default                Save archive to custom location.                          
 --destination=/backups/mysite.tar                                                                   
 drush archive-dump                        Omits any .git directories found in the tree as well as   
 --tar-options="--exclude=.git             sites/default/files.                                      
 --exclude=sites/default/files"                                                                      
 drush archive-dump                        Placeholder %files is replaced with the real path for the 
 --tar-options="--exclude=%files"          current site, and that path is excluded.

Arguments:
 sites                                     Optional. Site specifications, delimited by commas. Typically, 
                                           list subdirectory name(s) under /sites.

Options:
 --description                             Describe the archive contents.                                   
 --destination                             The full path and filename in which the archive should be        
                                           stored. If omitted, it will be saved to the drush-backups        
                                           directory and a filename will be generated.                      
 --generator                               The generator name to store in the MANIFEST file. The default is 
                                           "Drush archive-dump".                                            
 --generatorversion                        The generator version number to store in the MANIFEST file. The  
                                           default is 6.2.0.                                                
 --no-core                                 Exclude Drupal core, so the backup only contains the site        
                                           specific stuff.                                                  
 --overwrite                               Do not fail if the destination file exists; overwrite it         
                                           instead.                                                         
 --pipe                                    Only print the destination of the archive. Useful for scripts    
                                           that don't pass --destination.                                   
 --preserve-symlinks                       Preserve symbolic links.                                         
 --tags                                    Add tags to the archive manifest. Delimit multiple by commas.    
 --tar-options                             Options passed thru to the tar command.

Aliases: ard, archive-backup, arb
archive-restore
Expand a site archive into a Drupal web site.

Examples:
 drush archive-restore ./example.tar.gz    Restore the files and databases for all sites in the archive.    
 drush archive-restore ./example.tar.gz    Restore the files and database for example.com site.             
 example.com                                                                                                
 drush archive-restore ./example.tar.gz    Restore archive to a custom location.                            
 --destination=/var/www/example.com/docro                                                                   
 ot                                                                                                         
 drush archive-restore ./example.tar.gz    Restore archive to a new database (and customize settings.php to 
 --db-url=mysql://root:pass@127.0.0.1/dbn  point there.).                                                   
 ame

Arguments:
 file                                      The site archive file that should be expanded.               
 site name                                 Optional. Which site within the archive you want to restore. 
                                           Defaults to all.

Options:
 --db-prefix                               An optional table prefix to use during restore.                  
 --db-su                                   Account to use when creating the new database. Optional.         
 --db-su-pw                                Password for the "db-su" account. Optional.                      
 --db-url=      A Drupal 6 style database URL indicating the target for database 
                                           restore. If not provided, the archived settings.php is used.     
 --destination                             Specify where the Drupal site should be expanded, including the  
                                           docroot. Defaults to the current working directory.              
 --overwrite                               Allow drush to overwrite any files in the destination.

Aliases: arr
cache-clear
Clear a specific cache, or all drupal caches.

Arguments:
 type                                      The particular cache to clear. Omit this argument to choose from 
                                           available caches.

Aliases: cc
cache-get
Fetch a cached object and display it.

Examples:
 drush cache-get schema                    Display the data for the cache id "schema" from the "cache" bin. 
 drush cache-get                           Display the data for the cache id "update_available_releases"    
 update_available_releases update          from the "update" bin.

Arguments:
 cid                                       The id of the object to fetch.         
 bin                                       Optional. The cache bin to fetch from.

Options:
 --format=                           Select output format. Available: print-r, json, var_export, 
                                           yaml. Default is print-r.                                   
 --pipe                                    Equivalent to --format=var_export.

Aliases: cg
cache-set
Cache an object expressed in JSON or var_export() format.

Arguments:
 cid                                       The id of the object to set.                                     
 data                                      The object to set in the cache. Use '-' to read the object from  
                                           STDIN.                                                           
 bin                                       Optional. The cache bin to store the object in.                  
 expire                                    Optional. CACHE_PERMANENT, CACHE_TEMPORARY, or a Unix timestamp.

Options:
 --cache-get                               If the object is the result a previous fetch from the cache,     
                                           only store the value in the "data" property of the object in the 
                                           cache.                                                           
 --format                                  Format to parse the object. Use "string" for string (default),   
                                           and "json" for JSON.

Aliases: cs
core-config
Edit drushrc, site alias, and Drupal settings.php files.

Examples:
 drush core-config                         Pick from a list of config/alias/settings files. Open selected 
                                           in editor.                                                     
 drush --bg core-config                    Return to shell prompt as soon as the editor window opens.     
 drush core-config etc                     Edit the global configuration file.                            
 drush core-config demo.alia               Edit a particular alias file.                                  
 drush core-config sett                    Edit settings.php for the current Drupal site.                 
 drush core-config --choice=2              Edit the second file in the choice list.

Arguments:
 filter                                    A substring for filtering the list of files. Omit this argument 
                                           to choose from loaded files.

Options:
 --bg                                      Run editor in the background. Does not work with editors such as 
                                           `vi` that run in the terminal.

Aliases: conf, config
core-cron
Run all cron hooks in all active modules for specified site.

Aliases: cron
core-execute
Execute a shell command. Usually used with a site alias.

Examples:
 drush core-execute git pull origin  Retrieve latest code from git 
 rebase

Arguments:
 command                                   The shell command to be executed.

Options:
 --escaped                                 Command string already escaped; do not add additional quoting.   
 --ssh-options                             A string of extra options that will be passed to the ssh command 
                                           (e.g. "-p 100")                                                  
 --tty                                     Create a tty (e.g. to run an interactive program).

Aliases: exec, execute
core-quick-drupal
Download, install, serve and login to Drupal with minimal configuration and dependencies.

Examples:
 drush qd                                  Download and install stable release of Drupal into a timestamped 
                                           directory, start server, and open the site logged in as admin.   
 drush qd --profile=minimal --dev --cache  Fire up dev release of Drupal site with minimal install profile. 
 --core=drupal-8.x --yes                                                                                    
 drush qd testsite devel                   Fire up stable release (using the cache) of Drupal site called   
 --server=:8081/admin --browser=firefox    "testsite", download and enable devel module, start a server on  
 --cache --yes                             port 8081 and open /admin in firefox.                            
 drush qd commercesite                     Download and install the "Commerce Kickstart"                    
 --core=commerce_kickstart                 distribution/install profile, display watchdog messages on the   
 --profile=commerce_kickstart --cache      server console.                                                  
 --yes --watchdog                                                                                           
 drush qd --makefile=mysite.make           Create and install a site from a makefile.

Arguments:
 site                                      Short name for the site to be created - used as a directory name 
                                           and as sqlite file name. Optional - if omitted timestamped       
                                           "quick-drupal" directory will be used instead.                   
 projects                                  A list of projects to download into the new site. If projects    
                                           contain extensions (modules or themes) with the same name they   
                                           will be enabled by default. See --enable option to control this  
                                           behaviour further.

Options:
 --account-mail                            Site install option: uid1 email. Defaults to admin@example.com   
 --account-name                            Site install option: uid1 name. Defaults to admin                
 --account-pass                            Site install option: uid1 pass. Defaults to a randomly generated 
                                           password. If desired, set a fixed password in drushrc.php.       
 --browser                                 Runserver option: If opening a web browser, which browser to     
                                           user (defaults to operating system default).                     
 --cache                                   Cache release XML and tarballs or git clones. Git clones use     
                                           git's --reference option.                                        
   --cache-duration-releasexml             Expire duration (in seconds) for release XML. Defaults to 86400  
                                           (24 hours).                                                      
 --clean-url                               Site install option: Defaults to 1                               
 --core                                    Drupal core to download. Defaults to "drupal" (latest stable     
                                           version).                                                        
 --db-prefix                               Site install option: An optional table prefix to use for initial 
                                           install.  Can be a key-value array of tables/prefixes in a       
                                           drushrc file (not the command line).                             
 --db-su                                   Site install option: Account to use when creating a new          
                                           database. Must have Grant permission (mysql only). Optional.     
 --db-su-pw                                Site install option: Password for the "db-su" account. Optional. 
 --db-url                                  Site install option: A Drupal 6 style database URL. Only         
                                           required for initial install - not re-install.                   
 --default-server                          Runserver option: A default addr:port/path to use for any values 
                                           not specified as an argument.                                    
 --dev                                     Work with development releases solely.                           
 --dns                                     Runserver option: Resolve hostnames/IPs using DNS/rDNS (if       
                                           possible) to determine binding IPs and/or human friendly         
                                           hostnames for URLs and browser.                                  
 --enable                                  Specific extensions (modules or themes) to enable. By default,   
                                           extensions with the same name as requested projects will be      
                                           enabled automatically.                                           
 --locale                                  Site install option: A short language code. Sets the default     
                                           site language. Language files must already be present. You may   
                                           use download command to get them.                                
 --makefile=[mysite.make]                  Makefile to use. Makefile must specify which version of Drupal   
                                           core to build.                                                   
 --no-server                               Avoid starting runserver (and browser) for the created Drupal    
                                           site.                                                            
 --notes                                   Download option: Show release notes after each project is        
                                           downloaded.                                                      
 --php-cgi                                 Runserver option: Name of the php-cgi binary. If it is not on    
                                           your current $PATH you should include the full path. You can     
                                           include command line parameters to pass into php-cgi.            
 --pipe                                    Download option: Returns a list of the names of the extensions   
                                           (modules and themes) contained in the downloaded projects.       
 --profile                                 The install profile to use. Defaults to standard.                
 --root=[/path/to/root]                    Path to Drupal root.                                             
 --select                                  Download option: Select the version to download interactively    
                                           from a list of available releases.                               
   --all                                   Shows all available releases instead of a short list of recent   
                                           releases.                                                        
 --server                                  Runserver option: Which http server to use - either: "cgi" for a 
                                           CGI based httpserver (default, requires php 5.3 and php-cgi      
                                           binary) or "builtin" for php 5.4 built in http server.           
 --site-mail                               Site install option: From: for system mailings. Defaults to      
                                           admin@example.com                                                
 --site-name                               Site install option: Defaults to Site-Install                    
 --skip                                    Download option: Skip automatic downloading of libraries (c.f.   
                                           devel).                                                          
 --source                                  The base URL which provides project release history in XML.      
                                           Defaults to http://updates.drupal.org/release-history.           
 --use-existing                            Use an existing Drupal root, specified with --root. Overrides    
                                           --core.                                                          
 --variables                               Runserver option: Key-value array of variables to override in    
                                           the $conf array for the running site. By default disables        
                                           drupal_http_request_fails to avoid errors on Windows (which      
                                           supports only one connection at a time). Comma delimited list of 
                                           name=value pairs (or array in drushrc).                          
 --variant                                 Download option: Only useful for install profiles. Possible      
                                           values: 'full', 'projects', 'profile-only'.                      
 --package-handler=wget                    Download project packages using wget or curl.                    
 --package-handler=git_drupalorg           Use git.drupal.org to checkout and update projects.              
   --gitusername                           Your git username as shown on user/[uid]/edit/git. Typically,    
                                           this is set this in drushrc.php. Omitting this prevents users    
                                           from pushing changes back to git.drupal.org.                     
   --gitsubmodule                          Use git submodules for checking out new projects. Existing git   
                                           checkouts are unaffected, and will continue to (not) use         
                                           submodules regardless of this setting.                           
     --gitsubmoduleaddparams               Add options to the `git submodule add` command.                  
   --gitcheckoutparams                     Add options to the `git checkout` command.                       
   --gitcloneparams                        Add options to the `git clone` command.                          
   --gitfetchparams                        Add options to the `git fetch` command.                          
   --gitpullparams                         Add options to the `git pull` command.                           
   --gitinfofile                           Inject version info into each .info file.                        
 --version-control=backup                  Backup all project files before updates.                         
   --no-backup                             Do not perform backups.                                          
   --backup-dir                            Specify a directory to backup projects into. Defaults to         
                                           drush-backups within the home directory of the user running the  
                                           command. It is forbidden to specify a directory inside your      
                                           drupal root.                                                     
 --version-control=bzr                     Quickly add/remove/commit your project changes to Bazaar.        
   --bzrsync                               Automatically add new files to the Bazaar repository and remove  
                                           deleted files. Caution.                                          
   --bzrcommit                             Automatically commit changes to Bazaar repository. You must also 
                                           use the --bzrsync option.                                        
     --bzrmessage                          Override default commit message which is: Drush automatic        
                                           commit. Project   Command:                                                             
 --version-control=svn                     Quickly add/remove/commit your project changes to Subversion.    
   --svnsync                               Automatically add new files to the SVN repository and remove     
                                           deleted files. Caution.                                          
   --svncommit                             Automatically commit changes to SVN repository. You must also    
                                           using the --svnsync option.                                      
     --svnmessage                          Override default commit message which is: Drush automatic        
                                           commit:                             
   --svnstatusparams                       Add options to the 'svn status' command                          
   --svnaddparams                          Add options to the `svn add` command                             
   --svnremoveparams                       Add options to the `svn remove` command                          
   --svnrevertparams                       Add options to the `svn revert` command                          
   --svncommitparams                       Add options to the `svn commit` command

Aliases: qd
core-requirements
Provides information about things that may be wrong in your Drupal installation, if any.

Examples:
 drush core-requirements                   Show all status lines from the Status Report admin page.         
 drush core-requirements --severity=2      Show only the red lines from the Status Report admin page.       
 drush core-requirements --pipe            Print out a short report in JSON format, where severity 2=error, 
                                           1=warning, and 0/-1=OK

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=   Fields to output. All available fields are: title, severity,     
                                           sid, description, value (or 'summary'), reason, weight.          
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --full                                    Show the full output, with all fields included.                  
 --ignore                                  Comma-separated list of requirements to remove from output. Run  
                                           with --pipe to see key values to use.                            
 --pipe                                    Equivalent to --format=json.                                     
 --severity=<3>                            Only show status report messages with a severity greater than or 
                                           equal to the specified value.

Aliases: status-report, rq
core-rsync
Rsync the Drupal tree to/from another server using ssh.

Examples:
 drush rsync @dev @stage                   Rsync Drupal root from Drush alias dev to the alias stage (one   
                                           of which must be local).                                         
 drush rsync ./ @stage:%files/img          Rsync all files in the current directory to the 'img' directory  
                                           in the file storage folder on the Drush alias stage.             
 drush -s rsync @dev @stage                Simulate Rsync Drupal root from the Drush alias dev to the alias 
 --exclude=*.sql --delete                  stage (one of which must be local), excluding all files that     
                                           match the filter '*.sql' and delete all files on the destination 
                                           that are no longer on the source.

Arguments:
 source                                    May be rsync path or site alias. See rsync documentation and 
                                           example.aliases.drushrc.php.                                 
 destination                               May be rsync path or site alias. See rsync documentation and 
                                           example.aliases.drushrc.php.

Options:
 --exclude-conf                            Excludes settings.php from being rsynced.  Default.              
 --exclude-files                           Exclude the files directory.                                     
 --exclude-other-sites                     Exclude all directories in "sites/" except for "sites/all" and   
                                           the site directory for the site being synced.  Note: if the site 
                                           directory is different between the source and destination, use   
                                           --exclude-sites followed by "drush rsync @from:%site @to:%site"  
 --exclude-paths                           List of paths to exclude, seperated by : (Unix-based systems) or 
                                           ; (Windows).                                                     
 --exclude-sites                           Exclude all directories in "sites/" except for "sites/all".      
 --include-conf                            Allow settings.php to be rsynced. Default is to exclude          
                                           settings.php.                                                    
 --include-paths                           List of paths to include, seperated by : (Unix-based systems) or 
                                           ; (Windows).                                                     
 --include-vcs                             Include special version control directories (e.g. .svn).         
                                           Default is to exclude vcs files.                                 
 --mode                                    The unary flags to pass to rsync; --mode=rultz implies rsync     
                                           -rultz.  Default is -akz.                                        
 --{rsync-option-name}                     Replace {rsync-option-name} with the rsync option (or            
                                           option='value') that you would like to pass through to rsync.    
                                           Examples include --delete, --exclude=*.sql, --filter='merge      
                                           /etc/rsync/default.rules', etc. See the rsync documentation for  
                                           a complete explaination of all the rsync options and values.

Aliases: rsync
core-status
Provides a birds-eye view of the current Drupal installation, if any.

Examples:
 drush core-status version                 Show all status lines that contain version information. 
 drush core-status --pipe                  A list key=value items separated by line breaks.        
 drush core-status drush-version --pipe    Emit just the drush version with no label.              
 drush core-status config-active --pipe    Emit just the active Config directory with no label.

Arguments:
 item                                      Optional.  The status item line(s) to display.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=            version'), drush-conf (or 'drush configuration'),                
                                           drush-alias-files (or 'drush alias files'), root (or 'drupal     
                                           root'), site-path (or 'site path'), site (or 'site path'),       
                                           themes (or 'themes path'), modules (or 'modules path'), files    
                                           (or 'file directory path'), private (or 'private file directory  
                                           path'), temp (or 'temporary file directory path'), config-active 
                                           (or 'active config directory path'), config-staging (or 'staging 
                                           config directory path'), files-path (or 'file directory path'),  
                                           temp-path (or 'temporary file directory path'), %paths (or       
                                           'other paths').                                                  
 --format=                           Select output format. Available: json, list, var_export, yaml.   
                                           Default is key-value.                                            
 --full                                    Show all file paths and drush aliases in the report, even if     
                                           there are a lot.                                                 
 --pipe                                    Equivalent to --format=json.                                     
 --project=                       One or more projects that should be added to the path list       
 --show-passwords                          Show database password.

Aliases: status, st
core-topic
Read detailed documentation on a given topic.

Examples:
 drush topic                               Show all available topics.                   
 drush topic docs-context                  Show documentation for the drush context API 
 drush docs-context                        Show documentation for the drush context API

Arguments:
 topic name                                The name of the topic you wish to view. If omitted, list all 
                                           topic descriptions (and names in parenthesis).

Aliases: topic
drupal-directory
Return the filesystem path for modules/themes and other key folders.

Examples:
 cd `drush dd devel`                       Navigate into the devel module directory                    
 cd `drush dd`                             Navigate to the root of your Drupal site                    
 cd `drush dd files`                       Navigate to the files directory.                            
 drush dd @alias:%files                    Print the path to the files directory on the site @alias.   
 edit `drush dd devel`/devel.module        Open devel module in your editor (customize 'edit' for your 
                                           editor)

Arguments:
 target                                    A module/theme name, or special names like root, files, private, 
                                           or an alias : path alias string such as @alias:%files. Defaults  
                                           to root.

Options:
 --component                               The portion of the evaluated path to return.  Defaults to 
                                           'path'; 'name' returns the site alias of the target.      
 --local                                   Reject any target that specifies a remote site.

Aliases: dd
help
Drush provides an extensive help system that describes both drush commands and topics of general interest. 
Use `drush help --filter` to present a list of command categories to view, and `drush topic` for a list of
topics that go more in-depth on how to use and extend drush.

Examples:
 drush                                     List all commands.                                     
 drush --filter=devel_generate             Show only commands defined in devel_generate.drush.inc 
 drush help pm-download                    Show help for one command.                             
 drush help dl                             Show help for one command using an alias.

Arguments:
 command                                   A command name, or command alias.

Options:
 --filter=[category]                       Restrict command list to those commands defined in the specified 
                                           file. Omit value to choose from a list of names.                 
 --format                                  Format to output . Allowed values are: json, var_export, html.   
 --html                                    Print help for all commands in HTML format. Deprecated - see     
                                           --format option.                                                 
 --pipe                                    A list of available commands, one per line.                      
 --sort                                    Sort commands in alphabetical order. Drush waits for full        
                                           bootstrap before printing any commands when this option is used.

image-flush
Flush all derived images for a given style.

Examples:
 drush image-flush                         Pick an image style and then delete its images.                
 drush image-flush thumbnail               Delete all thumbnail images.                                   
 drush image-flush --all                   Flush all derived images. They will be regenerated on the fly.

Arguments:
 style                                     An image style machine name. If not provided, user may choose 
                                           from a list of names.

Options:
 --all                                     Flush all derived images

php-eval
Evaluate arbitrary php code after bootstrapping Drupal (if available).

Examples:
 drush php-eval "variable_set('hello',  Sets the hello variable using Drupal API. 
 'world');"

Arguments:
 code                                      PHP code

Options:
 --format=                           Select output format. Available: var_export, csv, json, list, 
                                           string, table, yaml. Default is var_export.

Aliases: eval, ev
php-script
Runs the given php script(s) after a full Drupal bootstrap. A useful alternative to eval command when your
php is lengthy or you can't be bothered to figure out bash quoting. If you plan to share a script with
others, consider making a full drush command instead, since that's more self-documenting.  Drush provides
commandline options to the script via drush_get_option('option-name'), and commandline arguments can be
accessed either via drush_get_arguments(), which returns all arguments in an array, or drush_shift(), which
removes the next argument from the list and returns it.

Examples:
 drush php-script scratch                  Run scratch.php script. See commands/core directory.          
 drush php-script example                  Run script from specified paths                               
 --script-path=/path/to/scripts:/another/                                                                
 path                                                                                                    
 drush php-script                          List all available scripts.                                   
                                                                                                         
 #!/usr/bin/env drush                      Execute php code with a full Drupal bootstrap directly from a 
                  Additional paths to search for scripts, separated by : 
                                           (Unix-based systems) or ; (Windows).

Aliases: scr
queue-list
Returns a list of all defined queues

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=            Fields to output. All available fields are: queue, items, class. 
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --pipe                                    Equivalent to --format=csv.

queue-run
Run Drupal queue workers. As opposed to "drush cron" that can only be run one at a time on a single site,
"drush queue-run" can be invoked as many times as the server load allows.

Arguments:
 queue_name                                The name of the queue to run, as defined in either 
                                           hook_queue_info or hook_cron_queue_info.

search-index
Index the remaining search items without wiping the index.

search-reindex
Force the search index to be rebuilt.

Options:
 --immediate                               Rebuild the index immediately, instead of waiting for cron.

search-status
Show how many items remain to be indexed out of the total.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=               Fields to output. All available fields are: remaining (or 'items 
                                           not yet indexed'), total (or 'total items').                     
 --format=                           Select output format. Available: json, list, var_export, yaml.   
                                           Default is message.                                              
 --pipe                                    Displays output in the form "!remaining/!total"

shell-alias
Print a shell alias record.

Examples:
 drush shell-alias                         List all alias records known to drush.     
 drush shell-alias pull                    Print the value of the shell alias 'pull'.

Arguments:
 alias                                     Shell alias to print

Options:
 --format=                           Select output format. Available: json, list, var_export, yaml. 
                                           Default is key-value.                                          
 --pipe                                    Equivalent to --format=json.

Aliases: sha
site-alias
Print an alias record.

Examples:
 drush site-alias                          List all alias records known to drush.     
 drush site-alias @dev                     Print an alias record for the alias 'dev'.

Arguments:
 site                                      Site specification to print

Options:
 --alias-name                              For a single alias, set the name to use in the output.           
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=<#name, root, uri, remote-host,  Fields to output. All available fields are: #name (or 'name'),   
 remote-user>                              root, uri, remote-host (or 'host'), remote-user (or 'user'),     
                                           remote-port (or 'port'), os, ssh-options (or 'ssh options'),     
                                           php.                                                             
 --format=                           Select output format. Available: config, csv, json, list, table, 
                                           var_export, yaml. Default is config.                             
 --full                                    Show the full output, with all fields included.                  
 --local                                   Only display sites that are available on the local system        
                                           (remote-site not set, and Drupal root exists).                   
 --no-db                                   Do not include the database record in the full alias record      
                                           (default).                                                       
 --pipe                                    Equivalent to --format=var_export.                               
 --with-db                                 Include the databases structure in the full alias record.        
 --with-db-url                             Include the short-form db-url in the full alias record.          
 --with-optional                           Include optional default items.

Aliases: sa
site-install
Install Drupal along with modules/themes/configuration using the specified install profile.

Examples:
 drush site-install expert --locale=uk     (Re)install using the expert install profile. Set default       
                                           language to Ukranian.                                           
 drush site-install                        Install using the specified DB params.                          
 --db-url=mysql://root:pass@localhost:por                                                                  
 t/dbname                                                                                                  
 drush site-install                        Install using SQLite (D7+ only).                                
 --db-url=sqlite://sites/example.com/file                                                                  
 s/.ht.sqlite                                                                                              
 drush site-install --account-name=joe     Re-install with specified uid1 credentials.                     
 --account-pass=mom                                                                                        
 drush site-install standard               Pass additional arguments to the profile (D7 example shown here 
 install_configure_form.site_default_coun  - for D6, omit the form id).                                    
 try=FR                                                                                                    
 my_profile_form.my_settings.key=value                                                                     
 drush site-install                        Disable email notification during install and later. If your    
 install_configure_form.update_status_mod  server has no smtp, this gets rid of an error during install.   
 ule='array(FALSE,FALSE)'

Arguments:
 profile                                   the install profile you wish to run. defaults to 'default' in  
                                           D6, 'standard' in D7+                                          
 key=value...                              any additional settings you wish to pass to the profile. Fully 
                                           supported on D7+, partially supported on D6 (single step       
                                           configure forms only). The key is in the form [form            
                                           name].[parameter name] on D7 or just [parameter name] on D6.

Options:
 --account-mail                            uid1 email. Defaults to admin@example.com                        
 --account-name                            uid1 name. Defaults to admin                                     
 --account-pass                            uid1 pass. Defaults to a randomly generated password. If         
                                           desired, set a fixed password in drushrc.php.                    
 --clean-url                               Defaults to 1                                                    
 --db-prefix                               An optional table prefix to use for initial install.  Can be a   
                                           key-value array of tables/prefixes in a drushrc file (not the    
                                           command line).                                                   
 --db-su=                            Account to use when creating a new database. Must have Grant     
                                           permission (mysql only). Optional.                               
 --db-su-pw=                         Password for the "db-su" account. Optional.                      
 --db-url=      A Drupal 6 style database URL. Only required for initial install 
                                           - not re-install.                                                
 --locale=                          A short language code. Sets the default site language. Language  
                                           files must already be present. You may use download command to   
                                           get them.                                                        
 --site-mail                               From: for system mailings. Defaults to admin@example.com         
 --site-name                               Defaults to Site-Install                                         
 --sites-subdir=           Name of directory under 'sites' which should be created. Only    
                                           needed when the subdirectory does not already exist. Defaults to 
                                           'default'

Aliases: si
site-set
Set a site alias to work on that will persist for the current session.

Examples:
 drush site-set @dev                       Set the current session to use the @dev alias.        
 drush site-set                            Set the current session to use a site specification.  
 user@server/path/to/drupal#sitename                                                             
 drush site-set -                          Go back to the previously-set site (like `cd -`).     
 drush site-set                            Without an argument, any existing site becomes unset.

Arguments:
 site                                      Site specification to use, or "-" for previous site. Omit this 
                                           argument to "unset"

Aliases: use
site-ssh
Connect to a Drupal site's server via SSH for an interactive session or to run a shell command

Examples:
 drush @mysite ssh                         Open an interactive shell on @mysite's server.                 
 drush @prod ssh 'ls /tmp'                 Run "ls /tmp" on @prod site. If @prod is a site list, then ls  
                                           will be executed on each site.                                 
 drush @prod git pull                      Run "git pull" on the Drupal root directory on the @prod site.

Arguments:
 site-alias                                A remote site alias. Can be an alias list.                       
 bash                                      Bash to execute on target. Optional, except when site-alias is a 
                                           list.

Options:
 --cd                                      Directory to change to. Use a full path, TRUE for the site's     
                                           Drupal root directory, or FALSE for the remote user's home       
                                           directory. Defaults to the Drupal root.                          
 --escaped                                 Command string already escaped; do not add additional quoting.   
 --ssh-options                             A string of extra options that will be passed to the ssh command 
                                           (e.g. "-p 100")                                                  
 --tty                                     Create a tty (e.g. to run an interactive program).

Aliases: ssh
test-clean
Clean temporary tables and files.

test-run
Run tests. Note that you must use the --uri option.

Examples:
 test-run                                  List all available classes and groups.                        
 sudo -u apache test-run --all             Run all available tests. Avoid permission related failures by 
                                           running as web server user.                                   
 test-run XMLRPCBasicTestCase              Run one test class.                                           
 test-run XML-RPC                          Run all classes in a XML-RPC group.                           
 test-run XML-RPC,Filter                   Run all tests from multiple groups/classes.                   
 test-run XMLRPCBasicTestCase              Run particular methods in the specified class or group.       
 --methods="testListMethods,                                                                             
 testInvalidMessageParsing"

Arguments:
 targets                                   A test class, a test group. If omitted, a list of test classes 
                                           and test groups is presented. Delimit multiple targets using   
                                           commas.

Options:
 --all                                     Run all available tests                                         
 --dirty                                   Skip cleanup of temporary tables and files. Helpful for reading 
                                           debug() messages and other post-mortem forensics.               
 --field-labels                            Add field labels before first line of data. Default is on;      
                                           --field-labels=0 to disable.                                    
 --fields=             Fields to output. All available fields are: group, class, name. 
 --format=                           Select output format. Available: table, csv, json, list,        
                                           var_export, yaml. Default is table.                             
 --methods                                 A comma delimited list of methods that should be run within the 
                                           test class. Defaults to all methods.                            
 --xml                                     Output verbose test results to a specified directory using the  
                                           JUnit test reporting format. Useful for integrating with        
                                           Jenkins.

updatedb
Apply any database updates required (as with running update.php).

Aliases: updb
updatedb-status
List any pending database updates.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;    
                                           --field-labels=0 to disable.                                  
 --fields=                              (or 'update id'), description.                                
 --format=                           Select output format. Available: table, csv, json, list,      
                                           var_export, yaml. Default is table.                           
 --full                                    Show the full output, with all fields included.               
 --pipe                                    Equivalent to --format=csv.

Aliases: updbst
usage-send
Send anonymous Drush usage information to statistics logging site.  Usage statistics contain the Drush
command name and the Drush option names, but no arguments or option values.

Examples:
 drush usage-send                          Immediately send cached usage statistics.                       
 $options['drush_usage_send']  = TRUE;     Specify in a .drushrc.php file that usage information should be 
                                           sent.                                                           
 $options['drush_usage_size']  = 10240;    Specify the frequency (file size) that usage information should 
                                           be sent.

Aliases: usend
usage-show
Show Drush usage information that has been logged but not sent.  Usage statistics contain the Drush command
name and the Drush option names, but no arguments or option values.

Examples:
 drush usage-show                          Show cached usage statistics.                                   
 $options['drush_usage_log']  = TRUE;      Specify in a .drushrc.php file that usage information should be 
                                           logged locally in a usage statistics file.

Aliases: ushow
variable-delete
Delete a variable.

Examples:
 drush vdel user_pictures                  Delete the user_pictures variable.                             
 drush vdel u                              Choose from a list of variables beginning with "u" to delete.  
 drush vdel -y --exact maintenance_mode    Bring the site back online, skipping confirmation. Variable is 
                                           rewritten to site_offline for Drupal 6.

Arguments:
 name                                      The name of a variable or the first few letters of its name.

Options:
 --exact                                   Only delete the one variable that exactly matches the specified 
                                           name.                                                           
 --yes                                     Skip confirmation if only one variable name matches.

Aliases: vdel
variable-get
Get a list of some or all site variables and values.

Examples:
 drush vget                                List all variables and values.                    
 drush vget user                           List all variables containing the string "user".  
 drush vget site_mail --exact              Show the variable with the exact key "site_mail".

Arguments:
 name                                      A string to filter the variables by. Variables whose name 
                                           contains the string will be listed.

Options:
 --exact                                   Only get the one variable that exactly matches the specified 
                                           name.                                                        
 --format=                           Select output format. Available: labeled-export, csv, json,  
                                           list, string, table, var_export, yaml. Default is            
                                           labeled-export.                                              
 --pipe                                    Equivalent to --format=config.

Aliases: vget
variable-set
Set a variable.

Examples:
 drush vset --yes preprocess_css TRUE      Set the preprocess_css variable to true. Skip confirmation if   
                                           variable already exists.                                        
 drush vset --exact maintenance_mode 1     Take the site offline; skips confirmation even if               
                                           maintenance_mode variable does not exist. Variable is rewritten 
                                           to site_offline for Drupal 6.                                   
 drush vset pr TRUE                        Choose from a list of variables beginning with "pr" to set to   
                                           (bool)true.                                                     
 php -r "print                             Set a variable to a complex value (e.g. array)                  
 json_encode(array('drupal',                                                                               
 'simpletest'));"  | drush vset                                                                            
 --format=json                                                                                             
 project_dependency_excluded_dependencies                                                                  
 -

Arguments:
 name                                      The name of a variable or the first few letters of its name.    
 value                                     The value to assign to the variable. Use '-' to read the object 
                                           from STDIN.

Options:
 --exact                                   The exact name of the variable to set has been provided; do not 
                                           prompt for similarly-named variables.                           
 --format=                        Format to parse the object. Use "auto" to detect format from    
                                           value (default), "string", "integer" or "boolean" for           
                                           corresponding primitive type, and "json" for JSON.              
 --yes                                     Skip confirmation if only one variable name matches.

Aliases: vset
version
Show drush version.

Options:
 --format=                           Select output format. Available: json, string, var_export, yaml. 
                                           Default is key-value.                                            
 --pipe                                    Print just the version number, and nothing else. Equivalent to   
                                           --format=string.

watchdog-delete
Delete watchdog messages. Arguments or options must be provided to specify which messages to delete.

Examples:
 drush watchdog-delete all                 Delete all messages.                                        
 drush watchdog-delete 64                  Delete messages with id 64.                                 
 drush watchdog-delete "cron run           Delete messages containing the string "cron run succesful". 
 succesful"                                                                                            
 drush watchdog-delete --severity=notice   Delete all messages with a severity of notice.              
 drush watchdog-delete --type=cron         Delete all messages of type cron.

Options:
 --severity                                Delete messages of a given severity level. 
 --type                                    Delete messages of a given type.

Aliases: wd-del, wd-delete
watchdog-list
Show available message types and severity levels. A prompt will ask for a choice to show watchdog messages.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                                  message, severity, location, hostname, date, username.           
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --full                                    Show the full output, with all fields included.                  
 --pipe                                    Equivalent to --format=var_export.

Aliases: wd-list
watchdog-show
Show watchdog messages. Arguments and options can be combined to configure which messages to show.

Examples:
 drush watchdog-show                       Show a listing of most recent 10 messages.                       
 drush watchdog-show 64                    Show in detail message with id 64.                               
 drush watchdog-show "cron run succesful"  Show a listing of most recent 10 messages containing the string  
                                           "cron run succesful".                                            
 drush watchdog-show --count=46            Show a listing of most recent 46 messages.                       
 drush watchdog-show --severity=notice     Show a listing of most recent 10 messages with a severity of     
                                           notice.                                                          
 drush watchdog-show --type=php            Show a listing of most recent 10 messages of type php.           
 drush watchdog-show --tail --extended     Show a listing of most recent 10 messages with extended          
                                           information about each one and continue showing messages as they 
                                           are registered in the watchdog.                                  
 drush watchdog-show --tail                Do a tail of the watchdog with a delay of two seconds between    
 --sleep-delay=2                           each poll to the database.

Arguments:
 wid                                       Optional id of a watchdog message to show in detail. If not 
                                           provided, a listing of most recent 10 messages will be      
                                           displayed. Alternatively if a string is provided, watchdog  
                                           messages will be filtered by it.

Options:
 --count                                   The number of messages to show. Defaults to 10.                  
 --extended                                Return extended information about each message.                  
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                                  message, severity, location, hostname, date, username.           
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --full                                    Show the full output, with all fields included.                  
 --pipe                                    Equivalent to --format=var_export.                               
 --severity                                Restrict to messages of a given severity level.                  
 --sleep-delay                             To be used in conjunction with --tail. This is the number of     
                                           seconds to wait between each poll to the database. Delay is 1    
                                           second by default.                                               
 --tail                                    Continuously show new watchdog messages until interrupted.       
 --type                                    Restrict to messages of a given type.

Aliases: wd-show, ws
runserver
Runs a lightweight built in http server for development.
 - Don't use this for production, it is neither scalable nor secure for this use.
 - If you run multiple servers simultaneously, you will need to assign each a unique port.
 - Use Ctrl-C or equivalent to stop the server when complete.

Examples:
 drush rs 8080                             Start runserver on 127.0.0.1, port 8080.                         
 drush rs 10.0.0.28:80                     Start runserver on 10.0.0.28, port 80.                           
 drush rs [::1]:80                         Start runserver on IPv6 localhost ::1, port 80.                  
 drush rs --php-cgi=php5-cgi --dns         Start runserver on localhost (using rDNS to determine binding    
 localhost:8888/user                       IP), port 8888, and open /user in browser. Use "php5-cgi" as the 
                                           php-cgi binary.                                                  
 drush rs /                                Start runserver on default IP/port (127.0.0.1, port 8888), and   
                                           open / in browser.                                               
 drush rs                                  Use a default (would be specified in your drushrc) that starts   
 --default-server=127.0.0.1:8080/ -        runserver on port 8080, and opens a browser to the front page.   
                                           Set path to a single hyphen path in argument to prevent opening  
                                           browser for this session.                                        
 drush rs --server=builtin :9000/admin     Start builtin php 5.4 runserver on 127.0.0.1, port 9000, and     
                                           open /admin in browser. Note that you need a colon when you      
                                           specify port and path, but no IP.

Arguments:
 addr:port/path                            Host IP address and port number to bind to and path to open in 
                                           web browser. Format is addr:port/path, default 127.0.0.1:8888, 
                                           all elements optional. See examples for shorthand.

Options:
 --browser                                 If opening a web browser, which browser to user (defaults to    
                                           operating system default).                                      
 --default-server                          A default addr:port/path to use for any values not specified as 
                                           an argument.                                                    
 --dns                                     Resolve hostnames/IPs using DNS/rDNS (if possible) to determine 
                                           binding IPs and/or human friendly hostnames for URLs and        
                                           browser.                                                        
 --php-cgi                                 Name of the php-cgi binary. If it is not on your current $PATH  
                                           you should include the full path. You can include command line  
                                           parameters to pass into php-cgi.                                
 --server                                  Which http server to use - either: "cgi" for a CGI based        
                                           httpserver (default, requires php 5.3 and php-cgi binary) or    
                                           "builtin" for php 5.4 built in http server.                     
 --user                                    If opening a web browser, automatically log in as this user     
                                           (user ID or username).                                          
 --variables                               Key-value array of variables to override in the $conf array for 
                                           the running site. By default disables drupal_http_request_fails 
                                           to avoid errors on Windows (which supports only one connection  
                                           at a time). Comma delimited list of name=value pairs (or array  
                                           in drushrc).

Aliases: rs
field-clone
Clone a field and all its instances.

Examples:
 field-clone tags labels                   Copy 'tags' field into a new field 'labels' field which has same 
                                           instances.                                                       
 open `field-clone tags labels`            Clone field and then open field edit forms for refinement.

Arguments:
 source_field_name                         Name of field that will be cloned 
 target_field_name                         Name of new, cloned field.

field-create
Create fields and instances. Returns urls for field editing.

Examples:
 drush field-create article                Define new article fields via interactive prompts.          
 open `drush field-create article`         Define new article fields and then open field edit form for 
                                           refinement.                                                 
 drush field-create article                Create two new fields.                                      
 city,text,text_textfield                                                                              
 subtitle,text,text_textfield

Arguments:
 bundle                                    Content type (for nodes). Name of bundle to attach fields to. 
                                           Required.                                                     
 field_spec                                Comma delimited triple in the form:                           
                                           field_name,field_type,widget_name. If widget_name is omitted, 
                                           the default widget will be used. Separate multiple fields by  
                                           space. If omitted, a wizard will prompt you.

Options:
 --entity_type                             Type of entity (e.g. node, user, comment). Defaults to node.

field-delete
Delete a field and its instances.

Examples:
 field-delete city                         Delete the city field and any instances it might have. 
 field-delete city --bundle=article        Delete the city instance on the article bundle

Arguments:
 field_name                                Name of field to delete.

Options:
 --bundle                                  Only delete the instance attached to this bundle. If omitted,    
                                           admin can choose to delete one instance or whole field.          
 --entity_type                             Disambiguate a particular bundle from identically named bundles. 
                                           Usually not needed.

field-info
View information about fields, field_types, and widgets.

Examples:
 field-info types                          Show a table which lists all field types and their available 
                                           widgets

Arguments:
 type                                      Recognized values: fields, types. If omitted, a choice list 
                                           appears.

Options:
 --field-labels                            Add field labels before first line of data. Default is on; 
                                           --field-labels=0 to disable.                               
 --fields=               'field name'), type (or 'field type'), bundle (or 'field   
                                           bundle'), type-name (or 'type name'), widget (or 'default  
                                           widget'), widgets.                                         
 --format=                           Select output format. Available: table, csv, json, list,   
                                           var_export, yaml. Default is table.                        
 --pipe                                    Equivalent to --format=csv.

field-update
Return URL for field editing web page.

Examples:
 field-update comment_body                 Quickly navigate to a field edit web page.

Arguments:
 field_name                                Name of field that needs updating.

pm-disable
Disable one or more extensions (modules or themes). Disable dependant extensions as well.

Arguments:
 extensions                                A list of modules or themes. You can use the * wildcard at the 
                                           end of extension names to disable multiple matches.

Aliases: dis
pm-download
Download Drupal core or projects from drupal.org (Drupal core, modules, themes or profiles) and other
sources. It will automatically figure out which project version you want based on its recommended release,
or you may specify a particular version.

If no --destination is provided, then destination depends on the project type:
  - Profiles will be downloaded to profiles/ in your Drupal root.
  - Modules and themes will be downloaded to the site specific directory (sites/example.com/modules|themes)
if available, or to the site wide directory otherwise.
  - If you're downloading drupal core or you are not running the command within a bootstrapped drupal site,
the default location is the current directory.
  - Drush commands will be relocated to /usr/share/drush/commands (if available) or ~/.drush. Relocation is
determined once the project is downloaded by examining its content. Note you can provide your own function
in a commandfile to determine the relocation of any project.

Examples:
 drush dl drupal                           Download latest recommended release of Drupal core.             
 drush dl drupal-7.x                       Download latest 7.x development version of Drupal core.         
 drush dl drupal-6                         Download latest recommended release of Drupal 6.x.              
 drush dl cck zen                          Download latest versions of CCK and Zen projects.               
 drush dl og-1.3                           Download a specfic version of Organic groups module for my      
                                           version of Drupal.                                              
 drush dl diff-6.x-2.x                     Download a specific development branch of diff module for a     
                                           specific Drupal version.                                        
 drush dl views --select                   Show a list of recent releases of the views project, prompt for 
                                           which one to download.                                          
 drush dl webform --dev                    Download the latest dev release of webform.                     
 drush dl webform --cache                  Download webform. Fetch and populate the download cache as      
                                           needed.

Arguments:
 projects                                  A comma delimited list of drupal.org project names, with 
                                           optional version. Defaults to 'drupal'

Options:
 --cache                                   Cache release XML and tarballs or git clones. Git clones use     
                                           git's --reference option.                                        
   --cache-duration-releasexml             Expire duration (in seconds) for release XML. Defaults to 86400  
                                           (24 hours).                                                      
 --default-major=<6>                       Specify the default major version of modules to download when    
                                           there is no bootstrapped Drupal site.  Defaults to "7".          
 --destination=                      Path to which the project will be copied. If you're providing a  
                                           relative path, note it is relative to the drupal root (if        
                                           bootstrapped).                                                   
 --dev                                     Work with development releases solely.                           
 --drupal-project-rename                   Alternate name for "drupal-x.y" directory when downloading       
                                           Drupal project. Defaults to "drupal".                            
 --notes                                   Show release notes after each project is downloaded.             
 --pipe                                    Returns a list of the names of the extensions (modules and       
                                           themes) contained in the downloaded projects.                    
 --select                                  Select the version to download interactively from a list of      
                                           available releases.                                              
   --all                                   Shows all available releases instead of a short list of recent   
                                           releases.                                                        
 --skip                                    Skip automatic downloading of libraries (c.f. devel).            
 --source                                  The base URL which provides project release history in XML.      
                                           Defaults to http://updates.drupal.org/release-history.           
 --use-site-dir                            Force to use the site specific directory. It will create the     
                                           directory if it doesn't exist. If --destination is also present  
                                           this option will be ignored.                                     
 --variant=                          Only useful for install profiles. Possible values: 'full',       
                                           'projects', 'profile-only'.                                      
 --package-handler=wget                    Download project packages using wget or curl.                    
 --package-handler=git_drupalorg           Use git.drupal.org to checkout and update projects.              
   --gitusername                           Your git username as shown on user/[uid]/edit/git. Typically,    
                                           this is set this in drushrc.php. Omitting this prevents users    
                                           from pushing changes back to git.drupal.org.                     
   --gitsubmodule                          Use git submodules for checking out new projects. Existing git   
                                           checkouts are unaffected, and will continue to (not) use         
                                           submodules regardless of this setting.                           
     --gitsubmoduleaddparams               Add options to the `git submodule add` command.                  
   --gitcheckoutparams                     Add options to the `git checkout` command.                       
   --gitcloneparams                        Add options to the `git clone` command.                          
   --gitfetchparams                        Add options to the `git fetch` command.                          
   --gitpullparams                         Add options to the `git pull` command.                           
   --gitinfofile                           Inject version info into each .info file.                        
 --version-control=svn                     Quickly add/remove/commit your project changes to Subversion.    
   --svnsync                               Automatically add new files to the SVN repository and remove     
                                           deleted files. Caution.                                          
   --svncommit                             Automatically commit changes to SVN repository. You must also    
                                           using the --svnsync option.                                      
     --svnmessage                          Override default commit message which is: Drush automatic        
                                           commit:                             
   --svnstatusparams                       Add options to the 'svn status' command                          
   --svnaddparams                          Add options to the `svn add` command                             
   --svnremoveparams                       Add options to the `svn remove` command                          
   --svnrevertparams                       Add options to the `svn revert` command                          
   --svncommitparams                       Add options to the `svn commit` command                          
 --version-control=backup                  Backup all project files before updates.                         
   --no-backup                             Do not perform backups.                                          
   --backup-dir                            Specify a directory to backup projects into. Defaults to         
                                           drush-backups within the home directory of the user running the  
                                           command. It is forbidden to specify a directory inside your      
                                           drupal root.                                                     
 --version-control=bzr                     Quickly add/remove/commit your project changes to Bazaar.        
   --bzrsync                               Automatically add new files to the Bazaar repository and remove  
                                           deleted files. Caution.                                          
   --bzrcommit                             Automatically commit changes to Bazaar repository. You must also 
                                           use the --bzrsync option.                                        
     --bzrmessage                          Override default commit message which is: Drush automatic        
                                           commit. Project   Command: 

Aliases: dl
pm-enable
Enable one or more extensions (modules or themes). Enable dependant extensions as well.

Arguments:
 extensions                                A list of modules or themes. You can use the * wildcard at the 
                                           end of extension names to enable all matches.

Options:
 --resolve-dependencies                    Attempt to download any missing dependencies. At the moment,     
                                           only works when the module name is the same as the project name. 
 --skip                                    Skip automatic downloading of libraries (c.f. devel).

Aliases: en
pm-info
Show detailed info for one or more extensions (modules or themes).

Arguments:
 extensions                                A list of modules or themes. You can use the * wildcard at the  
                                           end of extension names to show info for multiple matches. If no 
                                           argument is provided it will show info for all available        
                                           extensions.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                                                                                      
 --format=                           Select output format. Available: csv, json, list, table,         
                                           var_export, yaml. Default is key-value-list.                     
 --pipe                                    Equivalent to --format=json.

Aliases: pmi
pm-list
Show a list of available extensions (modules and themes).

Options:
 --core                                    Filter out extensions that are not in drupal core.               
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                                  status, version.                                                 
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --no-core                                 Filter out extensions that are provided by drupal core.          
 --package                                 Filter by project packages. You can use multiple comma separated 
                                           values. (i.e. --package="Core - required,Other").                
 --pipe                                    Equivalent to --format=list.                                     
 --status=                       Filter by extension status. Choices: enabled, disabled and/or    
                                           'not installed'. You can use multiple comma separated values.    
                                           (i.e. --status="disabled,not installed").                        
 --type=                           Filter by extension type. Choices: module, theme.

Aliases: pml
pm-refresh
Refresh update status information.

Aliases: rf
pm-releasenotes
Print release notes for given projects.

Examples:
 drush rln cck                             Prints the release notes for the recommended version of CCK      
                                           project.                                                         
 drush rln token-1.13                      View release notes of a specfic version of the Token project for 
                                           my version of Drupal.                                            
 drush rln pathauto zen                    View release notes for the recommended version of Pathauto and   
                                           Zen projects.

Arguments:
 projects                                  A list of project names, with optional version. Defaults to 
                                           'drupal'

Options:
 --dev                                     Work with development releases solely.                      
 --html                                    Display releasenotes in HTML rather than plain text.        
 --source                                  The base URL which provides project release history in XML. 
                                           Defaults to http://updates.drupal.org/release-history.

Aliases: rln
pm-releases
Print release information for given projects.

Examples:
 drush pm-releases cck zen                 View releases for cck and Zen projects for your Drupal version.

Arguments:
 projects                                  A list of drupal.org project names. Defaults to 'drupal'

Options:
 --dev                                     Work with development releases solely.                           
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                                   'release'), date, status.                                        
 --format=                           Select output format. Available: table, csv, json, list,         
                                           var_export, yaml. Default is table.                              
 --full                                    Show the full output, with all fields included.                  
 --pipe                                    Equivalent to --format=csv.                                      
 --source                                  The base URL which provides project release history in XML.      
                                           Defaults to http://updates.drupal.org/release-history.

Aliases: rl
pm-uninstall
Uninstall one or more modules.

Arguments:
 modules                                   A list of modules.

pm-update
Display available update information for Drupal core and all enabled projects and allow updating to latest
recommended releases. Also apply any database updates required (same as pm-updatecode + updatedb). Note: The
user is asked to confirm before the actual update. Backups are performed unless directory is already under
version control. Updated projects can potentially break your site. It is NOT recommended to update
production sites without prior testing.

Arguments:
 projects                                  Optional. A list of installed projects to update.

Options:
 --cache                                   Cache release XML and tarballs or git clones. Git clones use     
                                           git's --reference option.                                        
 --check-updatedb                          Check to see if an updatedb is needed after updating the code.   
                                           Default is on; use --check-updatedb=0 to disable.                
 --lock=                          Add a persistent lock to remove the specified projects from      
                                           consideration during updates.  Locks may be removed with the     
                                           --unlock parameter, or overridden by specifically naming the     
                                           project as a parameter to pm-update or pm-updatecode.  The lock  
                                           does not affect pm-download.  See also the update_advanced       
                                           project for similar and improved functionality.                  
   --lock-message=                A brief message explaining why a project is being locked;        
                                           displayed during pm-updatecode.  Optional.                       
   --unlock=                      Remove the persistent lock from the specified projects so that   
                                           they may be updated again.                                       
 --no-core                                 Only update modules and skip the core update.                    
 --notes                                   Show release notes for each project to be updated.               
 --security-only                           Only update modules that have security updates available.        
 --package-handler=wget                    Download project packages using wget or curl.                    
 --package-handler=git_drupalorg           Use git.drupal.org to checkout and update projects.              
   --gitusername                           Your git username as shown on user/[uid]/edit/git. Typically,    
                                           this is set this in drushrc.php. Omitting this prevents users    
                                           from pushing changes back to git.drupal.org.                     
   --gitsubmodule                          Use git submodules for checking out new projects. Existing git   
                                           checkouts are unaffected, and will continue to (not) use         
                                           submodules regardless of this setting.                           
     --gitsubmoduleaddparams               Add options to the `git submodule add` command.                  
   --gitcheckoutparams                     Add options to the `git checkout` command.                       
   --gitcloneparams                        Add options to the `git clone` command.                          
   --gitfetchparams                        Add options to the `git fetch` command.                          
   --gitpullparams                         Add options to the `git pull` command.                           
   --gitinfofile                           Inject version info into each .info file.                        
 --version-control=backup                  Backup all project files before updates.                         
   --no-backup                             Do not perform backups.                                          
   --backup-dir                            Specify a directory to backup projects into. Defaults to         
                                           drush-backups within the home directory of the user running the  
                                           command. It is forbidden to specify a directory inside your      
                                           drupal root.                                                     
 --version-control=bzr                     Quickly add/remove/commit your project changes to Bazaar.        
   --bzrsync                               Automatically add new files to the Bazaar repository and remove  
                                           deleted files. Caution.                                          
   --bzrcommit                             Automatically commit changes to Bazaar repository. You must also 
                                           use the --bzrsync option.                                        
     --bzrmessage                          Override default commit message which is: Drush automatic        
                                           commit. Project   Command:                                                             
 --version-control=svn                     Quickly add/remove/commit your project changes to Subversion.    
   --svnsync                               Automatically add new files to the SVN repository and remove     
                                           deleted files. Caution.                                          
   --svncommit                             Automatically commit changes to SVN repository. You must also    
                                           using the --svnsync option.                                      
     --svnmessage                          Override default commit message which is: Drush automatic        
                                           commit:                             
   --svnstatusparams                       Add options to the 'svn status' command                          
   --svnaddparams                          Add options to the `svn add` command                             
   --svnremoveparams                       Add options to the `svn remove` command                          
   --svnrevertparams                       Add options to the `svn revert` command                          
   --svncommitparams                       Add options to the `svn commit` command

Aliases: up
pm-updatecode
Display available update information for Drupal core and all enabled projects and allow updating to latest
recommended releases. Note: The user is asked to confirm before the actual update. Backups are performed
unless directory is already under version control. Updated projects can potentially break your site. It is
NOT recommended to update production sites without prior testing.

Examples:
 drush pm-updatecode --no-core             Update contrib projects, but skip core.                  
 drush pm-updatestatus --format=csv        To show a list of projects with their update status, use 
 --list-separator=" "                      pm-updatestatus instead of pm-updatecode.                
 --fields="name,existing_version,candidat                                                           
 e_version,status_msg"

Arguments:
 projects                                  Optional. A list of installed projects to update.

Options:
 --cache                                   Cache release XML and tarballs or git clones. Git clones use     
                                           git's --reference option.                                        
 --check-updatedb                          Check to see if an updatedb is needed after updating the code.   
                                           Default is on; use --check-updatedb=0 to disable.                
 --lock=                          Add a persistent lock to remove the specified projects from      
                                           consideration during updates.  Locks may be removed with the     
                                           --unlock parameter, or overridden by specifically naming the     
                                           project as a parameter to pm-update or pm-updatecode.  The lock  
                                           does not affect pm-download.  See also the update_advanced       
                                           project for similar and improved functionality.                  
   --lock-message=                A brief message explaining why a project is being locked;        
                                           displayed during pm-updatecode.  Optional.                       
   --unlock=                      Remove the persistent lock from the specified projects so that   
                                           they may be updated again.                                       
 --no-core                                 Only update modules and skip the core update.                    
 --notes                                   Show release notes for each project to be updated.               
 --security-only                           Only update modules that have security updates available.        
 --package-handler=wget                    Download project packages using wget or curl.                    
 --package-handler=git_drupalorg           Use git.drupal.org to checkout and update projects.              
   --gitusername                           Your git username as shown on user/[uid]/edit/git. Typically,    
                                           this is set this in drushrc.php. Omitting this prevents users    
                                           from pushing changes back to git.drupal.org.                     
   --gitsubmodule                          Use git submodules for checking out new projects. Existing git   
                                           checkouts are unaffected, and will continue to (not) use         
                                           submodules regardless of this setting.                           
     --gitsubmoduleaddparams               Add options to the `git submodule add` command.                  
   --gitcheckoutparams                     Add options to the `git checkout` command.                       
   --gitcloneparams                        Add options to the `git clone` command.                          
   --gitfetchparams                        Add options to the `git fetch` command.                          
   --gitpullparams                         Add options to the `git pull` command.                           
   --gitinfofile                           Inject version info into each .info file.                        
 --version-control=backup                  Backup all project files before updates.                         
   --no-backup                             Do not perform backups.                                          
   --backup-dir                            Specify a directory to backup projects into. Defaults to         
                                           drush-backups within the home directory of the user running the  
                                           command. It is forbidden to specify a directory inside your      
                                           drupal root.                                                     
 --version-control=bzr                     Quickly add/remove/commit your project changes to Bazaar.        
   --bzrsync                               Automatically add new files to the Bazaar repository and remove  
                                           deleted files. Caution.                                          
   --bzrcommit                             Automatically commit changes to Bazaar repository. You must also 
                                           use the --bzrsync option.                                        
     --bzrmessage                          Override default commit message which is: Drush automatic        
                                           commit. Project   Command:                                                             
 --version-control=svn                     Quickly add/remove/commit your project changes to Subversion.    
   --svnsync                               Automatically add new files to the SVN repository and remove     
                                           deleted files. Caution.                                          
   --svncommit                             Automatically commit changes to SVN repository. You must also    
                                           using the --svnsync option.                                      
     --svnmessage                          Override default commit message which is: Drush automatic        
                                           commit:                             
   --svnstatusparams                       Add options to the 'svn status' command                          
   --svnaddparams                          Add options to the `svn add` command                             
   --svnremoveparams                       Add options to the `svn remove` command                          
   --svnrevertparams                       Add options to the `svn revert` command                          
   --svncommitparams                       Add options to the `svn commit` command

Aliases: upc
pm-updatestatus
Show a report of available minor updates to Drupal core and contrib projects.

Arguments:
 projects                                  Optional. A list of installed projects to show.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;      
                                           --field-labels=0 to disable.                                    
 --fields=            name'), label, existing_version (or 'installed version'),       
                                           status, status_msg (or 'message'), candidate_version (or        
                                           'proposed version').                                            
 --format=                           Select output format. Available: table, csv, json, list,        
                                           var_export, yaml. Default is table.                             
 --full                                    Show the full output, with all fields included.                 
 --lock=                          Add a persistent lock to remove the specified projects from     
                                           consideration during updates.  Locks may be removed with the    
                                           --unlock parameter, or overridden by specifically naming the    
                                           project as a parameter to pm-update or pm-updatecode.  The lock 
                                           does not affect pm-download.  See also the update_advanced      
                                           project for similar and improved functionality.                 
   --lock-message=                A brief message explaining why a project is being locked;       
                                           displayed during pm-updatecode.  Optional.                      
   --unlock=                      Remove the persistent lock from the specified projects so that  
                                           they may be updated again.                                      
 --pipe                                    Return a list of the projects with any extensions enabled that  
                                           need updating, one project per line. Equivalent to              
                                           --format=list.                                                  
 --security-only                           Only update modules that have security updates available.

Aliases: ups
role-add-perm
Grant a specified permission to a role.

Examples:
 drush role-add-perm 'anonymous user'      Allow anonymous users to put their own advertisements on your 
 'post comments'                           site.                                                         
 drush role-add-perm 'authenticated user'  Select a permission from "node" permissions to add to         
 --module=node                             authenticated users.

Arguments:
 role                                      The role to modify.  Required.                                   
 permission                                The permission to grant. Required, unless the --module option is 
                                           used.

Options:
 --module                                  Select the permission to modify from an interactive list of all 
                                           permissions available in the specified module.

Aliases: rap
role-create
Create a new role.

Examples:
 drush role-create 'test role'             Create a new role 'test role' on D6 or D7; auto-assign the rid.  
                                           On D8, 'test role' is the rid, and the human-readable name is    
                                           set to 'Test role'.                                              
 drush role-create 'test role' 'Test       Create a new role with a machine name of 'test role', and a      
 role'                                     human-readable name of 'Test role'. On D6 and D7, behaves as the 
                                           previous example.

Arguments:
 machine name                              The symbolic machine name for the role. Required.          
 human-readable name                       A descriptive name for the role. Optional; Drupal 8 only.  
                                           Ignored in D6 and D7.

Aliases: rcrt
role-delete
Delete a role.

Examples:
 drush role-delete 'test role'             Delete the role 'test role'.

Arguments:
 machine name                              The symbolic machine name for the role. Required.  In D6 and D7, 
                                           this may also be a numeric role ID.

Aliases: rdel
role-list
Display a list of all roles defined on the system.  If a role name is provided as an argument, then all of
the permissions of that role will be listed.  If a permission name is provided as an option, then all of the
roles that have been granted that permission will be listed.

Examples:
 drush role-list --filter='administer      Display a list of roles that have the administer nodes        
 nodes'                                    permission assigned.                                          
 drush role-list 'anonymous user'          Display all of the permissions assigned to the anonymous user 
                                           role.

Arguments:
 role                                      The role to list.  Optional; if specified, lists all permissions 
                                           assigned to that role.  If no role is specified, lists all of    
                                           the roles available on the system.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;      
                                           --field-labels=0 to disable.                                    
 --fields=                Fields to output. All available fields are: rid (or 'id'), role 
                                           (or 'role name'), perm (or 'permission').                       
 --filter                                  Limits the list of roles to only those that have been assigned  
                                           the specified permission. Optional; may not be specified if a   
                                           role argument is provided.                                      
 --format=                           Select output format. Available: table, csv, json, list,        
                                           var_export, yaml. Default is table.                             
 --pipe                                    Equivalent to --format=list.

Aliases: rls
role-remove-perm
Remove a specified permission from a role.

Examples:
 drush role-remove-perm 'anonymous user'  Hide content from anonymous users. 
 'access content'

Arguments:
 role                                      The role to modify.                                            
 permission                                The permission to remove. Required, unless the --module option 
                                           is used.

Options:
 --module                                  Select the permission to modify from an interactive list of all 
                                           permissions available in the specified module.

Aliases: rmp
sql-cli
Open a SQL command-line interface using Drupal's credentials.

Examples:
 drush sql-cli                             Open a SQL command-line interface using Drupal's credentials.    
 drush sql-cli -A                          Open a SQL command-line interface using Drupal's credentials and 
                                           skip reading table information.

Options:
 --A                                       Skip reading table information. This gives a quicker start of  
                                           mysql.                                                         
 --database=                          The DB connection key if using multiple connections in         
                                           settings.php.                                                  
 --db-url=                                                                                                        
 --target=                            The name of a target within the specified database connection. 
                                           Defaults to 'default'.

Aliases: sqlc
sql-connect
A string for connecting to the DB.

Examples:
 `drush sql-connect` < example.sql         Import sql statements from a file into the current database.

Options:
 --database=                          The DB connection key if using multiple connections in         
                                           settings.php.                                                  
 --db-url=                                                                                                        
 --target=                            The name of a target within the specified database connection. 
                                           Defaults to 'default'.

sql-create
Create a database.

Examples:
 drush sql-create                          Create the database for the current site.              
 drush @site.test sql-create               Create the database as specified for @site.test.       
 drush sql-create --db-su=root             Create the database as specified in the db-url option. 
 --db-su-pw=rootpassword                                                                          
 --db-url="mysql://drupal_db_user:drupal_                                                         
 db_password@127.0.0.1/drupal_db"

Options:
 --database=                          The DB connection key if using multiple connections in         
                                           settings.php.                                                  
 --db-su                                   Account to use when creating a new database. Optional.         
 --db-su-pw                                Password for the "db-su" account. Optional.                    
 --db-url=                                                                                                        
 --target=                            The name of a target within the specified database connection. 
                                           Defaults to 'default'.

sql-drop
Drop all tables in a given database.

Options:
 --database=                          The DB connection key if using multiple connections in         
                                           settings.php.                                                  
 --db-url=                                                                                                        
 --result-file=             Save to a file. The file should be relative to Drupal root.    
                                           Recommended.                                                   
 --target=                            The name of a target within the specified database connection. 
                                           Defaults to 'default'.                                         
 --yes                                     Skip confirmation and proceed.

sql-dump
Exports the Drupal DB as SQL using mysqldump or equivalent.

Examples:
 drush sql-dump --result-file=../18.sql    Save SQL dump to the directory above Drupal root. 
 drush sql-dump --skip-tables-key=common   Skip standard tables. @see example.drushrc.php

Options:
 --data-only                               Dump data without statements to create any of the schema.        
 --database=                          The DB connection key if using multiple connections in           
                                           settings.php.                                                    
 --db-url=                                                                                                          
 --gzip                                    Compress the dump using the gzip program which must be in your   
                                           $PATH.                                                           
 --ordered-dump                            Order by primary key and add line breaks for efficient diff in   
                                           revision control. Also, faster rsync. Slows down the dump. Mysql 
                                           only.                                                            
 --result-file=[/path/to/file]             Save to a file. The file should be relative to Drupal root. If   
                                           --result-file is provided with no value, then date based         
                                           filename will be created under ~/drush-backups directory.        
 --skip-tables-key                         A key in the $skip_tables array. @see example.drushrc.php.       
                                           Optional.                                                        
 --skip-tables-list                        A comma-separated list of tables to exclude completely.          
                                           Optional.                                                        
 --structure-tables-key                    A key in the $structure_tables array. @see example.drushrc.php.  
                                           Optional.                                                        
 --structure-tables-list                   A comma-separated list of tables to include for structure, but   
                                           not data. Optional.                                              
 --tables-key                              A key in the $tables array. Optional.                            
 --tables-list                             A comma-separated list of tables to transfer. Optional.          
 --target=                            The name of a target within the specified database connection.   
                                           Defaults to 'default'.

sql-query
Execute a query against the site database.

Examples:
 drush sql-query "SELECT * FROM users      Browse user record. Table prefixes, if used, must be added to 
 WHERE uid=1"                              table names by hand.                                          
 drush sql-query --db-prefix "SELECT *     Browse user record. Table prefixes are honored.  Caution:     
 FROM {users} WHERE uid=1"                 curly-braces will be stripped from all portions of the query. 
 `drush sql-connect` < example.sql         Import sql statements from a file into the current database.  
 drush sql-query --file=example.sql        Alternate way to import sql statements from a file.

Arguments:
 query                                     An SQL query. Ignored if 'file' is provided.

Options:
 --database=                          The DB connection key if using multiple connections in         
                                           settings.php.                                                  
 --db-prefix                               Enable replacement of braces in your query.                    
 --db-url=                                                                                                        
 --extra=<--skip-column-names>             Add custom options to the mysql command.                       
 --file                                    Path to a file containing the SQL to be run.                   
 --result-file=             Save to a file. The file should be relative to Drupal root.    
                                           Optional.                                                      
 --target=                            The name of a target within the specified database connection. 
                                           Defaults to 'default'.

Aliases: sqlq
sql-sanitize
Run sanitization operations on the current database. You can add more sanitization to this command by
implementing hook_drush_sql_sync_sanitize().

Options:
 --db-url=                                                                                                        
 --sanitize-email                          The pattern for test email addresses in the sanitization       
                                           operation, or "no" to keep email addresses unchanged.  May     
                                           contain replacement patterns %uid, %mail or %name.  Default is 
                                           "user+%uid@localhost".                                         
 --sanitize-password                       The password to assign to all accounts in the sanitization     
                                           operation, or "no" to keep passwords unchanged.  Default is    
                                           "password".

Aliases: sqlsan
sql-sync
Copy and import source database to target database. Transfers via rsync.

Examples:
 drush sql-sync @prod @dev                 Copy the DB defined in sites/prod to the DB in sites/dev.

Arguments:
 from                                      Name of subdirectory within /sites or a site-alias. 
 to                                        Name of subdirectory within /sites or a site-alias.

Options:
 --cache                                   Skip dump if result file exists and is less than "cache" hours   
                                           old. Optional; default is 24 hours.                              
 --create-db                               Create a new database before importing the database dump on the  
                                           target machine.                                                  
 --db-su=                            Account to use when creating a new database. Optional.           
 --db-su-pw=                         Password for the "db-su" account. Optional.                      
 --dump-dir                                Directory to store sql dump files in when --source-dump or       
                                           --target-dump are not used.                                      
 --no-cache                                Do not cache the sql-dump file.                                  
 --no-dump                                 Do not dump the sql database; always use an existing dump file.  
 --no-ordered-dump                         Do not pass --ordered-dump to sql-dump.  sql-sync orders the     
                                           dumpfile by default in order to increase the efficiency of       
                                           rsync.                                                           
 --sanitize                                Obscure email addresses and reset passwords in the user table    
                                           post-sync. Optional.                                             
   --sanitize-password                     The password to assign to all accounts in the sanitization       
                                           operation, or "no" to keep passwords unchanged.  Default is      
                                           "password".                                                      
   --sanitize-email                        The pattern for test email addresses in the sanitization         
                                           operation, or "no" to keep email addresses unchanged.  May       
                                           contain replacement patterns %uid, %mail or %name.  Default is   
                                           "user+%uid@localhost".                                           
   --confirm-sanitizations                 Prompt yes/no after importing the database, but before running   
                                           the sanitizations                                                
 --skip-tables-key                         A key in the $skip_tables array. @see example.drushrc.php.       
                                           Optional.                                                        
 --skip-tables-list                        A comma-separated list of tables to exclude completely.          
                                           Optional.                                                        
 --source-database                         A key in the $db_url (D6) or $databases (D7+) array which        
                                           provides the data.                                               
 --source-db-url                           Database specification for source system to dump from.           
 --source-dump                             Path to dump file. Optional; default is to create a temporary    
                                           file.                                                            
 --source-remote-host                      Remote machine to run sql-dump file on. Optional; default is     
                                           local machine.                                                   
 --source-remote-port                      Override sql database port number in source-db-url. Optional.    
 --source-target=                     A key within the SOURCE database identifying a particular server 
                                           in the database group.                                           
 --structure-tables-key                    A key in the $structure_tables array. @see example.drushrc.php.  
                                           Optional.                                                        
 --structure-tables-list                   A comma-separated list of tables to include for structure, but   
                                           not data. Optional.                                              
 --tables-key                              A key in the $tables array. Optional.                            
 --tables-list                             A comma-separated list of tables to transfer. Optional.          
 --target-database                         A key in the $db_url (D6) or $databases (D7+) array which shall  
                                           receive the data.                                                
 --target-db-url                                                                                            
 --target-dump                                                                                              
 --target-remote-host                                                                                       
 --target-remote-port                                                                                       
 --target-target=                     Oy. A key within the TARGET database identifying a particular    
                                           server in the database group.                                    
 --temp                                    Use a temporary file to hold dump files.  Implies --no-cache.

user-add-role
Add a role to the specified user accounts.

Examples:
 drush user-add-role "power user" 5,user3  Add the "power user" role to the accounts with name, id, or    
 --uid=2,3 --name=someguy,somegal          email 5 or user3, uids 2 and 3, names someguy and somegal, and 
 --mail=billgates@microsoft.com            email address of billgates@microsoft.com

Arguments:
 role                                      The name of the role to add                                     
 users                                     (optional) A comma delimited list of uids, user names, or email 
                                           addresses.

Options:
 --mail                                    A comma delimited list of user mail addresses 
 --name                                    A comma delimited list of user names          
 --uid                                     A comma delimited list of uids

Aliases: urol
user-block
Block the specified user(s).

Examples:
 drush user-block 5,user3 --uid=2,3  Block the users with name, id, or email 5 or user3, uids 2 and 
 --name=someguy,somegal              3, names someguy and somegal, and email address of             
 --mail=billgates@microsoft.com      billgates@microsoft.com

Arguments:
 users                                     A comma delimited list of uids, user names, or email addresses.

Options:
 --mail                                    A comma delimited list of user mail addresses to block 
 --name                                    A comma delimited list of user names to block          
 --uid                                     A comma delimited list of uids to block

Aliases: ublk
user-cancel
Cancel a user account with the specified name.

Examples:
 drush user-cancel username                Cancel the user account with the name username and anonymize all 
                                           content created by that user.                                    
 drush user-cancel --delete-content        Cancel the user account with the name username and delete all    
 username                                  content created by that user.

Arguments:
 name                                      The name of the account to cancel

Options:
 --delete-content                          Delete all content created by the user

Aliases: ucan
user-create
Create a user account with the specified name.

Examples:
 drush user-create newuser    Create a new user account with the name newuser, the email 
 --mail="person@example.com"  address person@example.com, and the password letmein       
 --password="letmein"

Arguments:
 name                                      The name of the account to add

Options:
 --mail                                    The email address for the new account 
 --password                                The password for the new account

Aliases: ucrt
user-information
Print information about the specified user(s).

Examples:
 drush user-information                    Display information about any users with uids, names, or mail 
 2,3,someguy,somegal,billgates@microsoft.  addresses matching the strings between commas.                
 com

Arguments:
 users                                     A comma delimited list of uids, user names, or email addresses.

Options:
 --field-labels                            Add field labels before first line of data. Default is on;       
                                           --field-labels=0 to disable.                                     
 --fields=                              name (or 'user name'), pass (or 'password'), mail (or 'user      
                                           mail'), theme (or 'user theme'), signature, signature_format (or 
                                           'signature format'), user_created (or 'user created'), created,  
                                           user_access (or 'user last access'), access (or 'last access'),  
                                           user_login (or 'user last login'), login (or 'last login'),      
                                           user_status (or 'user status'), status, timezone (or 'time       
                                           zone'), picture (or 'user picture'), init (or 'initial user      
                                           mail'), roles (or 'user roles'), group_audience (or 'group       
                                           audience').                                                      
 --format=                           Select output format. Available: csv, json, list, table,         
                                           var_export, yaml. Default is key-value-list.                     
 --full                                    Show the full output, with all fields included.                  
 --pipe                                    Equivalent to --format=csv.

Aliases: uinf
user-login
Display a one time login link for the given user account (defaults to uid 1).

Examples:
 drush user-login ryan node/add/blog       Displays and opens default web browser (if configured or    
                                           detected) for a one-time login link for the user with the   
                                           username ryan and redirect to the path node/add/blog.       
 drush user-login --browser=firefox        Open firefox web browser, login as the user with the e-mail 
 --mail=drush@example.org                  address drush@example.org and redirect to the path          
 admin/settings/performance                admin/settings/performance.

Arguments:
 user                                      An optional uid, user name, or email address for the user to log 
                                           in as. Default is to log in as uid 1. The uid/name/mail options  
                                           take priority if specified.                                      
 path                                      Optional path to redirect to after logging in.

Options:
 --browser                                 Optional value denotes which browser to use (defaults to  
                                           operating system default). Set to 0 to suppress opening a 
                                           browser.                                                  
 --mail                                    A user mail address to log in as.                         
 --name                                    A user name to log in as.                                 
 --uid                                     A uid to log in as.

Aliases: uli
user-password
(Re)Set the password for the user account with the specified name.

Examples:
 drush user-password someuser       Set the password for the username someuser. @see xkcd.com/936 
 --password="correct horse battery                                                                
 staple"

Arguments:
 name                                      The name of the account to modify.

Options:
 --password=                          The new password for the account. Required.

Aliases: upwd
user-remove-role
Remove a role from the specified user accounts.

Examples:
 drush user-remove-role "power user"       Remove the "power user" role from the accounts with name, id, or 
 5,user3 --uid=2,3 --name=someguy,somegal  email 5 or user3, uids 2 and 3, names someguy and somegal, and   
 --mail=billgates@microsoft.com            email address of billgates@microsoft.com

Arguments:
 role                                      The name of the role to remove                                  
 users                                     (optional) A comma delimited list of uids, user names, or email 
                                           addresses.

Options:
 --mail                                    A comma delimited list of user mail addresses 
 --name                                    A comma delimited list of user names          
 --uid                                     A comma delimited list of uids

Aliases: urrol
user-unblock
Unblock the specified user(s).

Examples:
 drush user-unblock 5,user3 --uid=2,3  Unblock the users with name, id, or email 5 or user3, uids 2 and 
 --name=someguy,somegal                3, names someguy and somegal, and email address of               
 --mail=billgates@microsoft.com        billgates@microsoft.com

Arguments:
 users                                     A comma delimited list of uids, user names, or email addresses.

Options:
 --mail                                    A comma delimited list of user mail addresses to unblock 
 --name                                    A comma delimited list of user names to unblock          
 --uid                                     A comma delimited list of uids to unblock

Aliases: uublk
make
Turns a makefile into a Drupal codebase. For a full description of options and makefile syntax, see
docs/make.txt and examples/example.make.

Examples:
 drush make example.make example           Build the example.make makefile in the example directory.        
 drush make --no-core                      Build an installation profile within an existing Drupal site     
 --contrib-destination=.                                                                                    
 installprofile.make                                                                                        
 drush make                                Build the remote example.make makefile in the example directory. 
 http://example.com/example.make example

Arguments:
 makefile                                  Filename of the makefile to use for this build. 
 build path                                The path at which to build the makefile.

Options:
 --allow-override                          Restrict the make options to this comma-separated list of        
                                           options.                                                         
 --concurrency=<1>                         Set the number of concurrent projects that will be processed at  
                                           the same time. The default is 1.                                 
 --contrib-destination                     Specify a path under which modules and themes should be placed.  
                                           Defaults to sites/all for Drupal 6,7 and the corresponding       
                                           directory in the Drupal root for Drupal 8 and above.             
 --dev                                     Work with development releases solely.                           
 --download-mechanism                      How to download files. Should be autodetected, but this is an    
                                           override if it doesn't work. Options are "curl" and "make" (a    
                                           native download method).                                         
 --force-complete                          Force a complete build even if errors occur.                     
 --ignore-checksums                        Ignore md5 checksums for downloads.                              
 --libraries                               Restrict the make to this comma-separated list of libraries. To  
                                           specify all libraries, pass *.                                   
 --make-update-default-url                 The default location to load the XML update information from.    
 --md5=[print]                             Output an md5 hash of the current build after completion. Use    
                                           --md5=print to print to stdout.                                  
 --no-cache                                Do not use the pm-download caching (defaults to cache enabled).  
 --no-clean                                Leave temporary build directories in place instead of cleaning   
                                           up after completion.                                             
 --no-core                                 Do not require a Drupal core project to be specified.            
 --no-gitinfofile                          Do not modify .info files when cloning from Git.                 
 --no-patch-txt                            Do not write a PATCHES.txt file in the directory of each patched 
                                           project.                                                         
 --prepare-install                         Prepare the built site for installation. Generate a properly     
                                           permissioned settings.php and files directory.                   
 --projects                                Restrict the make to this comma-separated list of projects. To   
                                           specify all projects, pass *.                                    
 --source                                  The base URL which provides project release history in XML.      
                                           Defaults to http://updates.drupal.org/release-history.           
 --tar                                     Generate a tar archive of the build. The output filename will be 
                                           [build path].tar.gz.                                             
 --test                                    Run a temporary test build and clean up.                         
 --translations                            Retrieve translations for the specified comma-separated list of  
                                           language(s) if available for all projects.                       
 --version                                 Print the make API version and exit.                             
 --working-copy                            Preserves VCS directories, like .git, for projects downloaded    
                                           using such methods.

make-generate
Generate a makefile from the current Drupal site, specifying project version numbers unless not known or
otherwise specified. Unversioned projects will be interpreted later by drush make as "most recent stable
release"

Examples:
 drush generate-makefile example.make      Generate a makefile with ALL projects versioned (should a    
                                           project have a known version number)                         
 drush generate-makefile example.make      Generate a makefile with NO projects versioned               
 --exclude-versions                                                                                     
 drush generate-makefile example.make      Generate a makefile with ALL projects versioned EXCEPT core, 
 --exclude-versions=drupal,views,cck       Views and CCK                                                
 drush generate-makefile example.make      Generate a makefile with NO projects versioned EXCEPT Admin  
 --include-versions=admin_menu,og,ctools   Menu, OG and CTools.                                         
 (--exclude-versions)

Options:
 --dev                                     Work with development releases solely.                        
 --exclude-versions                        Exclude all version numbers (default is include all version   
                                           numbers) or optionally specify a list of projects to exclude  
                                           from versioning                                               
 --include-versions                        Include a specific list of projects, while all other projects 
                                           remain unversioned in the makefile (so implies                
                                           --exclude-versions)                                           
 --source                                  The base URL which provides project release history in XML.   
                                           Defaults to http://updates.drupal.org/release-history.

Aliases: generate-makefile