Drush is a command-line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those who spend their working hours hacking away at the command prompt.

Drush version 8 (recommended version). Documentation created with latest source code from GitHub at August 17, 2017 at 03:00

Drush help

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 list

archive-dumpBackup your code, files, and database into a single file.
archive-restoreExpand a site archive into a Drupal web site.
browseDisplay a link to a given path or open link in a browser.
core-cliOpen an interactive shell on a Drupal site.
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 the filesystem path for modules/themes and other key folders.
entity-updatesApply pending entity schema updates.
helpPrint this help message. See `drush help help` for more options.
image-deriveCreate an image derivative.
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
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
twig-compileCompile all Twig template(s).
updatedbApply any database updates required (as with running update.php).
updatedb-statusList any pending database updates.
variable-deleteDelete a variable.
variable-getGet a list of some or all site variables and values.
variable-setSet a variable.
versionShow drush version.
cache-clearClear a specific cache, or all drupal caches.
cache-getFetch a cached object and display it.
cache-rebuildRebuild a Drupal 8 site and clear all its caches.
cache-setCache an object expressed in JSON or var_export() format.
config-editOpen a config file in a text editor. Edits are imported into active configuration after closing editor.
config-exportExport configuration to a directory.
config-getDisplay a config value, or a whole configuration object.
config-importImport config from a config directory.
config-listList config names by prefix.
config-pullExport and transfer config from one environment to another.
config-setSet config value directly. Does not perform a config import.
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.
makeTurns a makefile into a working Drupal codebase.
make-convertConvert a legacy makefile into another format. Defaults to converting .make => .make.yml.
make-generateGenerate a makefile from the current Drupal site.
make-lockProcess a makefile and outputs an equivalent makefile with projects version *resolved*. Respects pinned versions.
make-updateProcess a makefile and outputs an equivalent makefile with projects version resolved to latest available.
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-projectinfoShow a report of available projects and their extensions.
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-add-permGrant specified permission(s) 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 specified permission(s) from a role.
runserverRuns PHP's built-in http server for development.
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 a database.
sql-sanitizeRun sanitization operations on the current database.
sql-syncCopies the database contents from a source site to a target site. Transfers the database dump via rsync.
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.
state-deleteDelete a state value.
state-getDisplay a state value.
state-setSet a state value.
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).
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.
utf8mb4-convert-databasesConverts all databases defined in settings.php to utf8mb4.

Command detail

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

Examples:
 drush archive-dump                        Write an archive containing 3 sites  
 default,example.com,foo.com               in it.                               
 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  
 --tar-options="--exclude=.git             the tree as well as                  
 --exclude=sites/default/files"            sites/default/files.                 
 drush archive-dump                        Placeholder %files is replaced with  
 --tar-options="--exclude=%files"          the real path for the 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 9.0-dev.                  
 --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.        
                                           Default is --no-overwrite.           
 --pipe                                    Only print the destination of the    
                                           archive. Useful for scripts that     
                                           don't pass --destination.            
 --preserve-symlinks                       Preserve symbolic links.             
 --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.                  
 --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                               example.com site.                    
 drush archive-restore ./example.tar.gz    Restore archive to a custom          
 --destination=/var/www/example.com/docro  location.                            
 ot                                                                             
 drush archive-restore ./example.tar.gz    Restore archive to a new database    
 --db-url=mysql://root:pass@127.0.0.1/dbn  (and customize settings.php to point 
 ame                                       there.).

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. Default is       
                                           --no-overwrite.                      
 --tar-options                             Options passed thru to the tar       
                                           command.

Aliases: arr
browse
Display a link to a given path or open link in a browser.

Examples:
 drush browse                              Open default web browser (if         
                                           configured or detected) to the site  
                                           front page.                          
 drush browse node/1                       Open web browser to the path node/1. 
 drush @example.prod                       Open a browser to the web site       
                                           specified in a site alias.           
 drush browse --browser=firefox admin      Open Firefox web browser to the path 
                                           'admin'.

Arguments:
 path                                      Path to open. If omitted, the site 
                                           front page will be opened.

Options:
 --browser                                 Specify a particular browser     
                                           (defaults to operating system    
                                           default). Use --no-brower to     
                                           suppress opening a browser.      
 --redirect-port                           The port that the web server is  
                                           redirected to (e.g. when running 
                                           within a Vagrant environment)

core-cli
Open an interactive shell on a Drupal site.

Options:
 --version-history                         Use command history based on Drupal 
                                           version (Default is per site).

Topics:
 docs-repl                                 repl.md

Aliases: php
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. Supresses 
                                           config-import at the end.           
 --editor=                             A string of bash which launches     
                                           user's preferred text editor.       
                                           Defaults to ${VISUAL-${EDITOR-vi}}.

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

Topics:
 docs-cron                                 Crontab instructions for running  
                                           your Drupal cron tasks via `drush 
                                           cron`.

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:
 --escape                                  Escape parameters before executing  
                                           them with the shell. Default is     
                                           escape; use --no-escape to disable. 
 --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).

Topics:
 docs-aliases                              Site aliases overview on creating  
                                           your own aliases for commonly used 
                                           Drupal sites with examples from    
                                           example.aliases.drushrc.php.       
 docs-strict-options                       Strict option handling, and how    
                                           commands that use it differ from   
                                           regular Drush commands.

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 --cache        Fire up dev release of Drupal site   
 --core=drupal-8.0.x --yes                 with minimal install profile.        
 drush qd testsite devel                   Fire up stable release (using the    
 --server=:8081/admin --browser=firefox    cache) of Drupal site called         
 --cache --yes                             "testsite", download and enable      
                                           devel module, start a server on port 
                                           8081 and open /admin in firefox.     
 drush qd commercesite                     Download and install the "Commerce   
 --core=commerce_kickstart                 Kickstart" distribution/install      
 --profile=commerce_kickstart --cache      profile, display watchdog messages   
 --yes --watchdog                          on the server console.               
 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). Use --no-browser to avoid  
                                           opening a browser.                   
 --cache                                   Cache release XML and tarballs or    
                                           git clones. Git clones use git's     
                                           --reference option. Defaults to 1    
                                           for downloads, and 0 for git.        
   --cache-duration-releasexml             Expire duration (in seconds) for     
                                           release XML. Defaults to 86400 (24   
                                           hours).                              
 --clean-url                               Site install option: Defaults to     
                                           clean; use --no-clean-url to         
                                           disable. Note that Drupal 8 and      
                                           later requires clean.                
 --config-dir                              Site install option: A path pointing 
                                           to a full set of configuration which 
                                           should be imported after             
                                           installation.                        
 --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.    
 --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                                  Host IP address and port number to   
                                           bind to and path to open in web      
                                           browser (hyphen to clear a default   
                                           path), all elements optional. See    
                                           runserver examples for shorthand.    
 --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-hi 
                                           story.                               
 --use-existing                            Use an existing Drupal root,         
                                           specified with --root. Overrides     
                                           --core. Defaults to true when run    
                                           from an existing site.               
 --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.                             
   --no-md5                                Skip md5 validation of downloads.    
 --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: qd, cutie
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; use          
                                           --no-field-labels to disable.        
 --fields=   Fields to output. All available      
                                           fields are: title, severity, sid,    
                                           description, value (or 'summary'),   
                                           reason, weight.                      
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --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.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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. Either or    
                                           both may be remote.                  
 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  
 --exclude=*.sql --delete                  Drush alias dev to the alias 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-version                           Set to the version of rsync you are  
                                           using to signal Drush to go into     
                                           backwards-compatibility mode when    
                                           using very old versions of rsync.    
                                           For example, --rsync-version=2.6.8   
                                           or earlier will cause Drush to avoid 
                                           the --remove-source-files flag.      
 --{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 explanation of all the      
                                           rsync options and values.

Topics:
 docs-aliases                              Site aliases overview on creating  
                                           your own aliases for commonly used 
                                           Drupal sites with examples from    
                                           example.aliases.drushrc.php.       
 docs-strict-options                       Strict option handling, and how    
                                           commands that use it differ from   
                                           regular Drush commands.

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-sync --pipe      Emit just the sync 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; use          
                                           --no-field-labels to disable.        
 --fields=                                   bootstrap'), user (or 'drupal        
                                           user'), theme (or 'default theme'),  
                                           admin-theme (or 'administration      
                                           theme'), php-bin (or 'php            
                                           executable'), php-conf (or 'php      
                                           configuration'), php-os (or 'php     
                                           os'), drush-script (or 'drush        
                                           script'), drush-version (or 'drush   
                                           version'), drush-temp (or 'drush     
                                           temp directory'), drush-conf (or     
                                           'drush configuration'),              
                                           drush-alias-files (or 'drush alias   
                                           files'), install-profile (or         
                                           'install profile'), root (or 'drupal 
                                           root'), drupal-settings-file (or     
                                           'drupal settings file'), 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-sync (or 'sync config 
                                           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 html.                     
 --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.  Defaults to 
                                           --no-show-passwords.

Topics:
 docs-readme                               README.md                           
 docs-output-formats                       Output formatting options selection 
                                           and use.

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).

Topics:
 docs-readme                               README.md

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-only                              Reject any target that specifies a   
                                           remote site.

Aliases: dd
entity-updates
Apply pending entity schema updates.

Aliases: entup
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.                               
 drush help --format=html                  Show an HTML page detailing all      
                                           available commands.                  
 drush help --format=json                  All available comamnds, in a machine 
                                           parseable format.

Arguments:
 command                                   A command name, or command alias.

Options:
 --field-labels                            Add field labels before first line   
                                           of data. Default is on; use          
                                           --no-field-labels to disable.        
 --fields=              Fields to output. All available      
                                           fields are: name, description.       
 --filter=[category]                       Restrict command list to those       
                                           commands defined in the specified    
                                           file. Omit value to choose from a    
                                           list of names.                       
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --sort                                    Sort commands in alphabetical order. 
                                           Drush waits for full bootstrap       
                                           before printing any commands when    
                                           this option is used.

Topics:
 docs-readme                               README.md                           
 docs-output-formats                       Output formatting options selection 
                                           and use.

image-derive
Create an image derivative.

Examples:
 drush image-derive thumbnail  Save thumbnail sized derivative of 
 themes/bartik/logo.png        logo image.

Arguments:
 style                                     An image style machine name.       
 source                                    Path to a source image. Optionally 
                                           prepend stream wrapper scheme.

Aliases: id
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

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

Examples:
 drush php-eval 'variable_set("hello",     Sets the hello variable using Drupal 
 "world");'                                API.                                 
 drush php-eval '$node = node_load(1);     Loads node with nid 1 and then       
 print $node->title;'                      prints its title.                    
 drush php-eval                            Copies a file whose path is          
 "file_unmanaged_copy('$HOME/Pictures/ima  determined by an environment's       
 ge.jpg', 'public://image.jpg');"          variable. Note the use of double     
                                           quotes so the variable $HOME gets    
                                           replaced by its value.               
 drush php-eval "node_access_rebuild();"   Rebuild node access permissions.

Arguments:
 code                                      PHP code

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

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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 example                  Run a script named example.php from 
 --script-path=/path/to/scripts:/another/  specified paths                     
 path                                                                          
 drush php-script                          List all available scripts.         
                                                                               
 #!/usr/bin/env drush                      Execute php code with a full Drupal 
                  Additional paths to search for      
                                           scripts, separated by : (Unix-based 
                                           systems) or ; (Windows).

Topics:
 docs-examplescript                        Example Drush script.            
 docs-scripts                              Shell script overview on writing 
                                           simple sequences of Drush        
                                           statements.

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; use        
                                           --no-field-labels to disable.      
 --fields=            Fields to output. All available    
                                           fields are: queue, items, class.   
 --format=                           Select output format. Available:   
                                           html, csv, json, list, table,      
                                           var_export, yaml. Default is html. 
 --pipe                                    Equivalent to --format=csv.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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.

Options:
 --time-limit                              The maximum number of seconds 
                                           allowed to run the queue

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 html.                 
 --pipe                                    Equivalent to --format=json.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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'.                              
 drush @none site-alias                    Print only actual aliases; omit     
                                           multisites from the local Drupal    
                                           installation.

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; use          
                                           --no-field-labels to disable.        
 --fields=<#name, root, uri, remote-host,  Fields to output. All available      
 remote-user>                              fields are: #name (or 'name'), 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:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --full                                    Show the full output, with all       
                                           fields included.                     
 --local-only                              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.   
 --show-hidden                             Include hidden internal elements in  
                                           site alias output                    
 --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.

Topics:
 docs-aliases                              Site aliases overview on creating   
                                           your own aliases for commonly used  
                                           Drupal sites with examples from     
                                           example.aliases.drushrc.php.        
 docs-output-formats                       Output formatting options selection 
                                           and use.

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     
                                           Ukrainian.                           
 drush site-install                        Install using the specified DB       
 --db-url=mysql://root:pass@localhost:por  params.                              
 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       
 --account-pass=mom                        credentials.                         
 drush site-install standard               Pass additional arguments to the     
 install_configure_form.site_default_coun  profile (D7 example shown here - for 
 try=FR                                    D6, omit the form id).               
 my_profile_form.my_settings.key=value                                          
 drush site-install standard               Disable email notification during    
 install_configure_form.update_status_mod  install and later. If your server    
 ule='array(FALSE,FALSE)'                  has no smtp, this gets rid of an     
                                           error during install.

Arguments:
 profile                                   The install profile you wish to run. 
                                           Defaults to 'default' in D6,         
                                           'standard' in D7+, unless an install 
                                           profile is marked as exclusive (or   
                                           as a distribution in D8+             
                                           terminology) in which case that is   
                                           used.                                
 key=value...                              Any additional settings you wish to  
                                           pass to the profile. The key is in   
                                           the form [form name].[parameter      
                                           name].

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 clean; use               
                                           --no-clean-url to disable. Note that 
                                           Drupal 8 and later requires clean.   
 --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    
 user@server/path/to/drupal#sitename       remote site via site specification. 
 drush site-set /path/to/drupal#sitename   Set the current session to use a    
                                           local site via site specification.  
 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 ssh git pull                  Run "git pull" on the Drupal root  
                                           directory on the @prod site.

Arguments:
 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 --no-cd for the  
                                           ssh default (usually 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).

Topics:
 docs-aliases                              Site aliases overview on creating  
                                           your own aliases for commonly used 
                                           Drupal sites with examples from    
                                           example.aliases.drushrc.php.       
 docs-strict-options                       Strict option handling, and how    
                                           commands that use it differ from   
                                           regular Drush commands.

Aliases: ssh
twig-compile
Compile all Twig template(s).

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

Options:
 --cache-clear=<0>                         If 0, Drush skips normal cache   
                                           clearing; the caller should then 
                                           clear if needed.

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

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

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: updbst
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 only the value of the variable 
                                           with the exact key "site_mail".     
 drush vget site_mail --exact --pipe       Show only the variable with the     
                                           exact key "site_mail" without       
                                           changing the structure of the       
                                           output.

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.  
                                           Output will contain only the         
                                           variable's value.                    
 --format=                           Select output format. Available:     
                                           html, csv, json, list, string,       
                                           table, var_export, yaml. Default is  
                                           html.                                
 --pipe                                    Equivalent to --format=config.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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   
 json_encode(array('drupal',               (e.g. array)                        
 '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=                        Type for  the value. Use "auto" to   
                                           detect format from value. Other      
                                           recognized values are string,        
                                           integer float, or boolean for        
                                           corresponding primitive type, or     
                                           json, yaml for complex types.        
 --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 html.                   
 --pipe                                    Print just the version number, and 
                                           nothing else. Equivalent to        
                                           --format=string.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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          "update_available_releases" 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:   
                                           json, var_export, yaml. Default is 
                                           html.                              
 --pipe                                    Equivalent to --format=var_export.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: cg
cache-rebuild
Rebuild a Drupal 8 site and clear all its caches.

Aliases: cr, rebuild
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.                           
 tags                                      An array of cache tags.

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
config-edit
Open a config file in a text editor. Edits are imported into active
configuration after closing editor.

Examples:
 drush config-edit image.style.large       Edit the image style configurations. 
 drush config-edit                         Choose a config file to edit.        
 drush config-edit --choice=2              Edit the second file in the choice   
                                           list.                                
 drush --bg config-edit image.style.large  Return to shell prompt as soon as    
                                           the editor window opens.

Arguments:
 config-name                               The config object name, for example 
                                           "system.site".

Options:
 --bg                                      Run editor in the background. Does  
                                           not work with editors such as `vi`  
                                           that run in the terminal. Supresses 
                                           config-import at the end.           
 --editor=                             A string of bash which launches     
                                           user's preferred text editor.       
                                           Defaults to ${VISUAL-${EDITOR-vi}}. 
 --preview=                          Format for displaying proposed      
                                           changes. Recognized values: list,   
                                           diff. Defaults to list.             
 --skip-modules                            A list of modules to ignore during  
                                           import (e.g. to avoid disabling     
                                           dev-only modules that are not       
                                           enabled in the imported             
                                           configuration).

Aliases: cedit
config-export
Export configuration to a directory.

Examples:
 drush config-export --skip-modules=devel  Export configuration; do not include 
                                           the devel module in the exported     
                                           configuration, regardless of whether 
                                           or not it is enabled in the site.    
 drush config-export --destination         Export configuration; Save files in  
                                           a backup directory named             
                                           config-export.

Arguments:
 label                                     A config directory label (i.e. a key 
                                           in $config_directories array in      
                                           settings.php). Defaults to 'sync'

Options:
 --add                                     Run `git add -p` after exporting.    
                                           This lets you choose which config    
                                           changes to sync for commit.          
 --branch=                     Make commit on provided working      
                                           branch. Ignored if used without      
                                           --commit or --push.                  
 --commit                                  Run `git add -A` and `git commit`    
                                           after exporting.  This commits       
                                           everything that was exported without 
                                           prompting.                           
 --destination                             An arbitrary directory that should   
                                           receive the exported files. An       
                                           alternative to label argument.       
 --message                                 Commit comment for the exported      
                                           configuration.  Optional; may only   
                                           be used with --commit or --push.     
 --push                                    Run `git push` after committing.     
                                           Implies --commit.                    
 --remote=                         The remote git branch to use to push 
                                           changes.  Defaults to "origin".      
 --skip-modules                            A list of modules to ignore during   
                                           export (e.g. to avoid listing        
                                           dev-only modules in exported         
                                           configuration).

Aliases: cex
config-get
Display a config value, or a whole configuration object.

Examples:
 drush config-get system.site              Displays the system.site config.   
 drush config-get system.site page.front   gets system.site:page.front value.

Arguments:
 config-name                               The config object name, for example 
                                           "system.site".                      
 key                                       The config key, for example         
                                           "page.front". Optional.

Options:
 --format=                           Select output format. Available:    
                                           html, csv, json, list, string,      
                                           table, var_export, yaml. Default is 
                                           html.                               
 --include-overridden                      Include overridden values.          
 --pipe                                    Equivalent to --format=var_export.  
 --source=                           The config storage source to read.  
                                           Additional labels may be defined in 
                                           settings.php

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: cget
config-import
Import config from a config directory.

Examples:
 drush config-import --skip-modules=devel  Import configuration; do not enable 
                                           or disable the devel module,        
                                           regardless of whether or not it     
                                           appears in the imported list of     
                                           enabled modules.

Arguments:
 label                                     A config directory label (i.e. a key 
                                           in $config_directories array in      
                                           settings.php). Defaults to 'sync'

Options:
 --partial                                 Allows for partial config imports  
                                           from the source directory. Only    
                                           updates and new configs will be    
                                           processed with this flag (missing  
                                           configs will not be deleted).      
 --preview=                          Format for displaying proposed     
                                           changes. Recognized values: list,  
                                           diff. Defaults to list.            
 --skip-modules                            A list of modules to ignore during 
                                           import (e.g. to avoid disabling    
                                           dev-only modules that are not      
                                           enabled in the imported            
                                           configuration).                    
 --source                                  An arbitrary directory that holds  
                                           the configuration files. An        
                                           alternative to label argument

Aliases: cim
config-list
List config names by prefix.

Examples:
 drush config-list system                  Return a list of all system config 
                                           names.                             
 drush config-list "image.style"           Return a list of all image styles. 
 drush config-list --format="json"         Return all config names as json.

Arguments:
 prefix                                    The config prefix. For example,     
                                           "system". No prefix will return all 
                                           names in the system.

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

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: cli
config-pull
Export and transfer config from one environment to another.

Examples:
 drush config-pull @prod @stage            Export config from @prod and 
                                           transfer to @stage.          
 drush config-pull @prod @self             Export config from @prod and 
 --label=vcs                               transfer to the 'vcs' config 
                                           directory of current site.

Arguments:
 source                                    A site-alias or the name of a    
                                           subdirectory within /sites whose 
                                           config you want to copy from.    
 target                                    A site-alias or the name of a    
                                           subdirectory within /sites whose 
                                           config you want to replace.

Options:
 --label                                   A config directory label (i.e. a key 
                                           in $config_directories array in      
                                           settings.php). Defaults to 'sync'    
 --runner                                  Where to run the rsync command;      
                                           defaults to the local site. Can also 
                                           be "source" or "destination".        
 --safe                                    Validate that there are no git       
                                           uncommitted changes before           
                                           proceeding

Topics:
 docs-aliases                              Site aliases overview on creating   
                                           your own aliases for commonly used  
                                           Drupal sites with examples from     
                                           example.aliases.drushrc.php.        
 docs-config-exporting                     Drupal configuration export         
                                           instructions, including customizing 
                                           configuration by environment.

Aliases: cpull
config-set
Set config value directly. Does not perform a config import.

Examples:
 drush config-set system.site page.front  Sets system.site:page.front to 
 node                                     "node".

Arguments:
 config-name                               The config object name, for example 
                                           "system.site".                      
 key                                       The config key, for example         
                                           "page.front".                       
 value                                     The value to assign to the config   
                                           key. Use '-' to read from STDIN.

Options:
 --format=                           Format to parse the object. Use    
                                           "string" for string (default), and 
                                           "yaml" for YAML.

Aliases: cset
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; use        
                                           --no-field-labels to disable.      
 --fields=               fields are: field-name (or '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:   
                                           html, csv, json, list, table,      
                                           var_export, yaml. Default is html. 
 --pipe                                    Equivalent to --format=csv.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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.

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 
 --contrib-destination=.                   an existing Drupal site              
 installprofile.make                                                            
 drush make                                Build the remote example.make        
 http://example.com/example.make example   makefile in the example directory.   
 drush make example.make --no-build        Write a new makefile to              
 --lock=example.lock                       example.lock. All project versions   
                                           will be resolved.

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 a       
                                           comma-separated list. Defaults to    
                                           unrestricted.                        
 --bundle-lockfile=                             and copy it into the codebase (at    
                                           sites/all/drush/platform.lock). An   
                                           alternate path (relative to the      
                                           Drupal root) can also be specified   
 --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.                        
 --force-gitinfofile                       Force a modification of .info files  
                                           when cloning from Git even if        
                                           repository isn't hosted on           
                                           Drupal.org.                          
 --format=                            The format for generated lockfiles.  
                                           Options are "yaml" or "ini".         
                                           Defaults to "yaml".                  
 --ignore-checksums                        Ignore md5 checksums for downloads.  
 --includes                                A list of makefiles to include at    
                                           build-time.                          
 --libraries=                     Restrict the make to this            
                                           comma-separated list of libraries.   
                                           To specify all libraries, pass *.    
 --lock=                Generate a makefile, based on the    
                                           one passed in, with all versions     
                                           *resolved*. Defaults to printing to  
                                           the terminal, but an output file may 
                                           be provided.                         
 --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-build                                Do not build a codebase. Makes the   
                                           `build path` argument optional.      
 --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-gitprojectinfo                       Do not inject project info into      
                                           .info files when cloning from Git.   
 --no-patch-txt                            Do not write a PATCHES.txt file in   
                                           the directory of each patched        
                                           project.                             
 --no-recursion                            Do not recurse into the makefiles of 
                                           any downloaded projects; you can     
                                           also set [do_recursion] = 0 on a     
                                           per-project basis in the makefile.   
 --overrides                               A list of makefiles to that can      
                                           override values in other makefiles.  
 --overwrite                               Overwrite existing directories.      
                                           Default is to merge.                 
 --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 *.        
 --shallow-clone                           For makefile entries which use git   
                                           for downloading, this option will    
                                           utilize shallow clones where         
                                           possible (ie. by using the           
                                           git-clone's depth=1 option). If the  
                                           "working-copy" option is not         
                                           desired, this option will            
                                           significantly speed up makes which   
                                           involve modules stored in very large 
                                           git repos. In fact, if               
                                           "working-copy" option is enabled,    
                                           this option cannot be used.          
 --source                                  The base URL which provides project  
                                           release history in XML. Defaults to  
                                           http://updates.drupal.org/release-hi 
                                           story.                               
 --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.

Topics:
 docs-make                                 Drush Make overview with examples 
 docs-make-example                         Drush Make example makefile

make-convert
Convert a legacy makefile into another format. Defaults to converting .make =>
.make.yml.

Examples:
 drush make-convert example.make   Convert example.make to            
 --format=yml                      example.make.yml                   
 drush make-convert example.make   Convert example.make to            
 --format=composer                 composer.json                      
 drush make-convert composer.lock  Convert composer.lock example.make 
 --format=make

Arguments:
 makefile                                  Filename of the makefile to convert.

Options:
 --format                                  The format to which the make file    
                                           should be converted. Accepted values 
                                           include make, composer, and yml.

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 
 --exclude-versions                        versioned                            
 drush generate-makefile example.make      Generate a makefile with ALL         
 --exclude-versions=drupal,views,cck       projects versioned EXCEPT core,      
                                           Views and CCK                        
 drush generate-makefile example.make      Generate a makefile with NO projects 
 --include-versions=admin_menu,og,ctools   versioned EXCEPT Admin Menu, OG and  
 (--exclude-versions)                      CTools.

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  
 --format=                            The format for generated makefile.   
                                           Options are "yaml" or "ini".         
                                           Defaults to "yaml".                  
 --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-hi 
                                           story.

Aliases: generate-makefile
make-lock
Process a makefile and outputs an equivalent makefile with projects version
*resolved*. Respects pinned versions.

Arguments:
 makefile                                  Filename of the makefile to use for 
                                           this build.

Options:
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --dev                                     Work with development releases       
                                           solely.                              
 --format=                            The format for generated lockfiles.  
                                           Options are "yaml" or "ini".         
                                           Defaults to "yaml".                  
 --includes                                A list of makefiles to include at    
                                           build-time.                          
 --result-file=             Save to a file. If not provided, the 
                                           lockfile will be dumped to stdout.   
 --security-only                           Only update modules that have        
                                           security updates available.          
 --source                                  The base URL which provides project  
                                           release history in XML. Defaults to  
                                           http://updates.drupal.org/release-hi 
                                           story.                               
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.

make-update
Process a makefile and outputs an equivalent makefile with projects version
resolved to latest available.

Arguments:
 makefile                                  Filename of the makefile to use for 
                                           this build.

Options:
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --dev                                     Work with development releases       
                                           solely.                              
 --format=                            The format for generated lockfiles.  
                                           Options are "yaml" or "ini".         
                                           Defaults to "yaml".                  
 --includes                                A list of makefiles to include at    
                                           build-time.                          
 --result-file=              Save to a file. If not provided, the 
                                           updated makefile will be dumped to   
                                           stdout.                              
 --security-only                           Only update modules that have        
                                           security updates available.          
 --source                                  The base URL which provides project  
                                           release history in XML. Defaults to  
                                           http://updates.drupal.org/release-hi 
                                           story.                               
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.

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.

Options:
 --cache                                   Cache release XML and tarballs or    
                                           git clones. Git clones use git's     
                                           --reference option. Defaults to 1    
                                           for downloads, and 0 for git.        
 --package-handler=wget                    Download project packages using wget 
                                           or curl.                             
   --no-md5                                Skip md5 validation of downloads.    
 --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=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=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.

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. Defaults to 1    
                                           for downloads, and 0 for git.        
   --cache-duration-releasexml             Expire duration (in seconds) for     
                                           release XML. Defaults to 86400 (24   
                                           hours).                              
 --default-major=<7>                       Specify the default major version of 
                                           modules to download when there is no 
                                           bootstrapped Drupal site.  Defaults  
                                           to "8".                              
 --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-hi 
                                           story.                               
 --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.                             
   --no-md5                                Skip md5 validation of downloads.    
 --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; use          
                                           --no-field-labels to disable.        
 --fields=                     required_by (or 'required by'),      
                                           permissions, config (or              
                                           'configure'), engine, base_theme (or 
                                           'base theme'), regions, features,    
                                           stylesheets, scripts.                
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --pipe                                    Equivalent to --format=json.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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; use          
                                           --no-field-labels to disable.        
 --fields=                                  fields are: package, name, type,     
                                           status, version.                     
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --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.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: pml
pm-projectinfo
Show a report of available projects and their extensions.

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

Options:
 --drush                                   Optional. Only incude projects that  
                                           have one or more Drush commands.     
 --field-labels                            Add field labels before first line   
                                           of data. Default is on; use          
                                           --no-field-labels to disable.        
 --fields=       fields are: label (or 'name'), type, 
                                           version, status, extensions, drush   
                                           (or 'drush commands'), datestamp,    
                                           path.                                
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --full                                    Show the full output, with all       
                                           fields included.                     
 --pipe                                    Equivalent to --format=json.         
 --status=                        Filter by project status. Choices:   
                                           enabled, disabled. A project is      
                                           considered enabled when at least one 
                                           of its extensions is enabled.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: pmpi
pm-refresh
Refresh update status information.

Options:
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --security-only                           Only update modules that have        
                                           security updates available.          
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.

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 release notes in HTML rather 
                                           than plain text.                     
 --source                                  The base URL which provides project  
                                           release history in XML. Defaults to  
                                           http://updates.drupal.org/release-hi 
                                           story.

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:
 --default-major                           Show releases compatible with the    
                                           specified major version of Drupal.   
 --dev                                     Work with development releases       
                                           solely.                              
 --field-labels                            Add field labels before first line   
                                           of data. Default is on; use          
                                           --no-field-labels to disable.        
 --fields=                                   fields are: project, version (or     
                                           'release'), date, status,            
                                           release_link (or 'release link'),    
                                           download_link (or 'download link').  
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --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-hi 
                                           story.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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

Arguments:
 modules                                   A list of modules.

Aliases: pmu
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. Defaults to 1    
                                           for downloads, and 0 for git.        
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --check-updatedb                          Check to see if an updatedb is       
                                           needed after updating the code.      
                                           Default is on; use                   
                                           --check-updatedb=0 to disable.       
 --entity-updates                          Run automatic entity schema updates  
                                           at the end of any update hooks.      
                                           Defaults to --no-entity-updates.     
 --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.          
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.                               
 --package-handler=wget                    Download project packages using wget 
                                           or curl.                             
   --no-md5                                Skip md5 validation of downloads.    
 --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

Topics:
 docs-policy                               Example policy file.

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   
 --list-separator=" "                      their update status, use          
 --fields="name,existing_version,candidat  pm-updatestatus instead of        
 e_version,status_msg"                     pm-updatecode.

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. Defaults to 1    
                                           for downloads, and 0 for git.        
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --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.          
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.                               
 --package-handler=wget                    Download project packages using wget 
                                           or curl.                             
   --no-md5                                Skip md5 validation of downloads.    
 --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=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=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: 

Topics:
 docs-policy                               Example policy file.

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:
 --check-disabled                          Check for updates of disabled        
                                           modules and themes.                  
 --field-labels                            Add field labels before first line   
                                           of data. Default is on; use          
                                           --no-field-labels to disable.        
 --fields=            fields are: name (or 'short name'),  
                                           label, existing_version (or          
                                           'installed version'), status,        
                                           status_msg (or 'message'),           
                                           candidate_version (or 'proposed      
                                           version').                           
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --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.          
 --update-backend                          Backend to obtain available updates. 
                                           Available: drush, drupal. Default is 
                                           drush.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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

Examples:
 drush role-add-perm 'anonymous user'      Allow anon users to post comments. 
 'post comments'                                                              
 drush role-add-perm 'anonymous user'      Allow anon users to post comments  
 "'post comments','access content'"        and access content.                
 drush role-add-perm 'authenticated user'  Select a permission from "node"    
 --module=node                             permissions to add to logged in    
                                           users.

Arguments:
 role                                      The role to modify.  Required.      
 permissions                               The list of permission to grant,    
                                           delimited by commas. Required,      
                                           unless the --module option is used.

Options:
 --cache-clear=<0>                         If 0, Drush skips normal cache       
                                           clearing; the caller should then     
                                           clear if needed.                     
 --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 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     
 role'                                     name of 'test role', and a           
                                           human-readable name of 'Test role'.  
                                           On 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 
                                           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 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 
 nodes'                                    the administer nodes permission   
                                           assigned.                         
 drush role-list 'anonymous user'          Display all of the permissions    
                                           assigned to the anon 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; use          
                                           --no-field-labels to disable.        
 --fields=               Fields to output. All available      
                                           fields are: rid (or 'id'), label (or 
                                           'role label'), 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:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --pipe                                    Equivalent to --format=list.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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

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

Arguments:
 role                                      The role to modify.                 
 permissions                               The list of permission to grant,    
                                           delimited by commas. Required,      
                                           unless the --module option is used.

Options:
 --cache-clear=<0>                         If 0, Drush skips normal cache       
                                           clearing; the caller should then     
                                           clear if needed.                     
 --module                                  Select the permission to modify from 
                                           an interactive list of all           
                                           permissions available in the         
                                           specified module.

Aliases: rmp
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 --dns localhost:8888/user        Start runserver on localhost (using  
                                           rDNS to determine binding IP), port  
                                           8888, and open /user in browser.     
 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 
 --default-server=127.0.0.1:8080/ -        your drushrc) that starts 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 :9000/admin                      Start 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. Only opens a browser if a 
                                           path is specified.

Options:
 --browser                                 If opening a web browser, which      
                                           browser to user (defaults to         
                                           operating system default). Use       
                                           --no-browser to avoid opening a      
                                           browser.                             
 --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.                
 --user                                    If opening a web browser,            
                                           automatically log in as this user    
                                           (user ID or username). Default is to 
                                           log in as uid 1.                     
 --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
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 --extra=-A                  Open a SQL CLI and skip reading   
                                           table information.

Options:
 --database=                          The DB connection key if using    
                                           multiple connections in           
                                           settings.php.                     
 --db-url=                                                                           
 --extra=<--skip-column-names>             Add custom options to the connect 
                                           string.

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

Examples:
 `drush sql-connect` < example.sql         Bash: Import SQL statements from a 
                                           file into the current database.    
 eval (drush sql-connect) < example.sql    Fish: 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=                                                                           
 --extra=<--skip-column-names>             Add custom options to the connect 
                                           string.

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  
 --db-su-pw=rootpassword                   the db-url option.                   
 --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=

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.                       
 --yes                                     Skip confirmation and proceed.

Topics:
 docs-policy                               Example policy file.

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                  
 drush sql-dump --extra=--no-data          Pass extra option to dump command.

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=                                                                              
 --extra                                   Add custom options to the dump       
                                           command.                             
 --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. 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.

sql-query
Execute a query against a database.

Examples:
 drush sql-query "SELECT * FROM users      Browse user record. Table prefixes, 
 WHERE uid=1"                              if used, must be added to table     
                                           names by hand.                      
 drush sql-query --db-prefix "SELECT *     Browse user record. Table prefixes  
 FROM {users} WHERE uid=1"                 are honored.  Caution: 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 database   
                                           connection command.                  
 --file                                    Path to a file containing the SQL to 
                                           be run. Gzip files are accepted.     
 --result-file=             Save to a file. The file should be   
                                           relative to Drupal root. Optional.

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-prefix                               Enable replacement of braces in      
                                           sanitize queries.                    
 --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.       
 --sanitize-password=            The password to assign to all        
                                           accounts in the sanitization         
                                           operation, or "no" to keep passwords 
                                           unchanged.

Aliases: sqlsan
sql-sync
Copies the database contents from a source site to a target site. Transfers the
database dump via rsync.

Examples:
 drush sql-sync @source @target            Copy the database from the site with 
                                           the alias "source" to the site with  
                                           the alias "target".                  
 drush sql-sync prod dev                   Copy the database from the site in   
                                           /sites/prod to the site in           
                                           /sites/dev (multisite installation).

Arguments:
 source                                    A site-alias or the name of a    
                                           subdirectory within /sites whose 
                                           database you want to copy from.  
 target                                    A site-alias or the name of a    
                                           subdirectory within /sites whose 
                                           database you want to replace.

Options:
 --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.                            
 --no-dump                                 Do not dump the sql database; always 
                                           use an existing dump file.           
 --no-sync                                 Do not rsync the database dump file  
                                           from source to target.               
 --runner                                  Where to run the rsync command;      
                                           defaults to the local site. Can also 
                                           be "source" or "destination".        
 --sanitize                                Obscure email addresses and reset    
                                           passwords in the user table          
                                           post-sync.                           
   --sanitize-password=          The password to assign to all        
                                           accounts in the sanitization         
                                           operation, or "no" to keep passwords 
                                           unchanged.                           
   --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.       
   --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=           The destination for the dump file,   
                                           or the path to the dump file when    
                                           --no-dump is specified.              
 --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.             
 --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=        A path for saving the dump file on   
                                           target. Mandatory when using         
                                           --no-sync.                           
 --target-remote-host                                                           
 --target-remote-port

Topics:
 docs-aliases                              Site aliases overview on creating    
                                           your own aliases for commonly used   
                                           Drupal sites with examples from      
                                           example.aliases.drushrc.php.         
 docs-policy                               Example policy file.                 
 docs-example-sync-via-http                Example Drush commandfile that       
                                           extends sql-sync to allow transfer   
                                           of the sql dump file via http rather 
                                           than ssh and rsync.                  
 docs-example-sync-extension               Example Drush commandfile that       
                                           extends sql-sync to enable           
                                           development modules in the post-sync 
                                           hook.

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; use          
                                           --no-field-labels 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 html.                     
 --pipe                                    Displays output in the form          
                                           "!remaining/!total"

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

state-delete
Delete a state value.

Examples:
 drush state-del system.cron_last          Delete state entry for 
                                           system.cron_last.

Arguments:
 key                                       The state key, for example 
                                           "system.cron_last".

Aliases: sdel
state-get
Display a state value.

Examples:
 drush state-get system.cron_last          Displays last cron run timestamp

Arguments:
 key                                       The key name.

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

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: sget
state-set
Set a state value.

Examples:
 drush state-set system.cron_last     Sets a timestamp for last cron run. 
 1406682882 --format=integer                                              
 php -r "print                        Set a key to a complex value (e.g.  
 json_encode(array('drupal',          array)                              
 'simpletest'));"  | drush state-set                                      
 --format=json foo.name -

Arguments:
 key                                       The state key, for example       
                                           "system.cron_last".              
 value                                     The value to assign to the state 
                                           key. Use '-' to read from STDIN.

Options:
 --format=                        Type for  the value. Use "auto" to 
                                           detect format from value. Other    
                                           recognized values are string,      
                                           integer float, or boolean for      
                                           corresponding primitive type, or   
                                           json, yaml for complex types.

Aliases: sset
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   
 --uid=2,3 --name=someguy,somegal          accounts with name, id, or email 5 
 --mail=billgates@microsoft.com            or user3, uids 2 and 3, names      
                                           someguy and somegal, and 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 of users to operate on.    
 --name=                              A comma delimited list of user names 
                                           of users to operate on.              
 --uid=<3,5>                               A comma delimited list of uids of    
                                           users to operate on.

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    
 --name=someguy,somegal              email 5 or user3, uids 2 and 3,      
 --mail=billgates@microsoft.com      names someguy and somegal, and email 
                                     address of 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 of users to operate on.    
 --name=                              A comma delimited list of user names 
                                           of users to operate on.              
 --uid=<3,5>                               A comma delimited list of uids of    
                                           users to operate on.

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.

Arguments:
 name                                      The name of the account to cancel

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

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

Arguments:
 name                                      The name of the account to add

Options:
 --field-labels                            Add field labels before first line   
                                           of data. Default is on; use          
                                           --no-field-labels to disable.        
 --fields=                              fields are: uid (or 'user id'), 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'), langcode (or  
                                           'language code'), uuid.              
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --full                                    Show the full output, with all       
                                           fields included.                     
 --mail                                    The email address for the new        
                                           account                              
 --password                                The password for the new account     
 --pipe                                    Equivalent to --format=csv.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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

Examples:
 drush user-information                    Display information about the listed 
 2,3,someguy,somegal,billgates@microsoft.  users.                               
 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; use          
                                           --no-field-labels to disable.        
 --fields=                              fields are: uid (or 'user id'), 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'), langcode (or  
                                           'language code'), uuid.              
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --full                                    Show the full output, with all       
                                           fields included.                     
 --pipe                                    Equivalent to --format=csv.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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   
 --mail=drush@example.org                  the user with the e-mail address     
 admin/settings/performance                drush@example.org and redirect to    
                                           the path 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). Use --no-browser to        
                                           suppress opening a browser.          
 --mail                                    A user mail address to log in as.    
 --name                                    A user name to log in as.            
 --redirect-port                           A custom port for redirecting to     
                                           (e.g. when running within a Vagrant  
                                           environment)                         
 --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 
 --password="correct horse battery  someuser. @see xkcd.com/936       
 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    
 5,user3 --uid=2,3 --name=someguy,somegal  the accounts with name, id, or email 
 --mail=billgates@microsoft.com            5 or user3, uids 2 and 3, names      
                                           someguy and somegal, and 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 of users to operate on.    
 --name=                              A comma delimited list of user names 
                                           of users to operate on.              
 --uid=<3,5>                               A comma delimited list of uids of    
                                           users to operate on.

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  
 --name=someguy,somegal                email 5 or user3, uids 2 and 3,      
 --mail=billgates@microsoft.com        names someguy and somegal, and email 
                                       address of 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 of users to operate on.    
 --name=                              A comma delimited list of user names 
                                           of users to operate on.              
 --uid=<3,5>                               A comma delimited list of uids of    
                                           users to operate on.

Aliases: uublk
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      
 succesful"                                string "cron run 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; use        
                                           --no-field-labels to disable.      
 --fields=                                  fields are: wid (or 'id'), type,   
                                           message, severity, location,       
                                           hostname, date, username.          
 --format=                           Select output format. Available:   
                                           html, csv, json, list, table,      
                                           var_export, yaml. Default is html. 
 --full                                    Show the full output, with all     
                                           fields included.                   
 --pipe                                    Equivalent to --format=var_export.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

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     
 --sleep-delay=2                           delay of two seconds between 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; use          
                                           --no-field-labels to disable.        
 --fields=                                  fields are: wid (or 'id'), type,     
                                           message, severity, location,         
                                           hostname, date, username.            
 --format=                           Select output format. Available:     
                                           html, csv, json, list, table,        
                                           var_export, yaml. Default is html.   
 --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.

Topics:
 docs-output-formats                       Output formatting options selection 
                                           and use.

Aliases: wd-show, ws
utf8mb4-convert-databases
Converts all databases defined in settings.php to utf8mb4.

Options:
 --charset                                 Specify a charset. Default is   
                                           utf8mb4.                        
 --collation                               Specify a collation. Default is 
                                           utf8mb4_general_ci.