Command Line Interface (CLI) in Magento 2

In this tutorial, we will talk about Command Line Inteface (CLI) in Magento 2. As you know, from Magento 2, they add many commands in bin/magento. This may difficult to get approach this , but let me explain more detail in this tutorial.

When you run command in terminal:

php bin/magento module:status
php bin/magento module:disable Vendor_ModuleName
php bin/magento module:enable Vendor_ModuleName

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex

php bin/magento cache:enable
php bin/magento cache:disable
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento cache:status

php bin/magento setup:static-content:deploy

php bin/magento



You will get the list of Magento 2 command line available, this list includes custom command line

Command line category

We can divide the list into the following categories:

  • Cache
  • Indexer
  • Cron job
  • Code compiler
  • Set the Magento mode
  • i18n translation
  • Run unit tests
  • Maintenance
  • module management
  • Setup: Install, Upgrade, Uninstall, Backup , Rollback
  • Theme
  • Deployment

Command [options] [arguments]

--help (-h)           Display this help message
--quiet (-q)          Do not output any message
--verbose (-v|vv|vvv) Increase the verbosity of 
			messages: 1 for normal output, 
			2 for more verbose output and 
			3 for debug  
--version (-V)        Display this application version              
--ansi                Force ANSI output                              
--no-ansi             Disable ANSI output                            
--no-interaction (-n) Do not ask any interactive question
Available commands:                                                  
help                  Displays help for a command
list                  Lists commands

Admin Commond Line

admin:user:create        Creates an administrator     
admin:user:unlock        Unlock Admin Account

cache Commond Line

cache:clean          Cleans cache type(s)
cache:disable        Disables cache type(s)
cache:enable         Enables cache type(s)
cache:flush          Flushes cache storage used by cache type(s)
cache:status         Checks cache status

Catalog Commond Line

catalog:images:resize          Creates resized product images   
catalog:product:attributes:cleanup  Removes unused product attributes.

Cron Commond Line

cron:run            Runs jobs by schedule


customer:hash:upgrade      Upgrade customer's hash according to the latest algorithm

Deploy command line

deploy:mode:set            Set application mode.       
deploy:mode:show           Displays current application mode.

dev command line

Collects and publishes source files for theme. dev:tests:run          
 Runs tests                                     
Generates the catalog of URNs to *.xsd mappings for the IDE to highlight xml.    
dev:xml:convert             Converts XML file using XSL style sheets

i18n command line

i18n:collect-phrases      Discovers phrases in the codebase       
i18n:pack                 Saves language package       
i18n:uninstall            Uninstalls language packages

Indexer command line

indexer:info                 Shows allowed Indexers
indexer:reindex              Reindexes Data
indexer:reset                Resets indexer status to invalid
indexer:set-mode             Sets index mode type
indexer:show-mode            Shows Index Mode
indexer:status               Shows status of Indexer

Info command line

info:adminuri                            Displays the Magento Admin URI       
info:backups:list                        Prints list of available backup files
info:currency:list                       Displays the list of available currencies
info:dependencies:show-framework         Shows number of dependencies on Magento framework
info:dependencies:show-modules           Shows number of dependencies between modules     
info:dependencies:show-modules-circular  Shows number of circular dependencies between modules
info:language:list                       Displays the list of available language locales
info:timezone:list                       Displays the list of available timezones

Maintenance command line

maintenance:allow-ips Sets maintenance mode exempt IPs           
maintenance:disable   Disables maintenance mode  
maintenance:enable    Enables maintenance mode    
maintenance:status    Displays maintenance mode status

Module command line

module:disable        Disables specified modules   
module:enable         Enables specified modules   
module:status         Displays status of modules 
module:uninstall      Uninstalls modules installed by composer

Sampledata command line

sampledata:deploy     Deploy sample data modules         
sampledata:remove     Remove all sample data packages from composer.json                              
sampledata:reset      Reset all sample data modules for re-installation

Setup command line

setup:backup                           Takes backup of Magento Application code base, media and database                
setup:config:set                       Creates or modifies the deployment configuration                                
setup:cron:run                         Runs cron job scheduled for setup application                                  
setup:db-data:upgrade                  Installs and upgrades data in the DB                                            
setup:db-schema:upgrade                Installs and upgrades the DB schema                                            
setup:db:status                        Checks if DB schema or data requires upgrade                                    
setup:di:compile                       Generates DI configuration and all missing classes that can be auto-generated  
setup:install                          Installs the Magento application                                                
setup:performance:generate-fixtures    Generates fixtures                                                              
setup:rollback                         Rolls back Magento Application codebase, media and database                    
setup:static-content:deploy            Deploys static view files                                                      
setup:store-config:set                 Installs the store configuration                                                
setup:uninstall                        Uninstalls the Magento application                                              
setup:upgrade                          Upgrades the Magento application, DB data, and schema

Theme command line

theme:uninstall       Uninstalls theme

Next we will take few examples of each category.

Cache command line

How to check status of cache type(s)
php bin/magento cache:status


                    config: 1
                    layout: 1
                block_html: 1
               collections: 1
                    db_ddl: 1
                       eav: 1
                 full_page: 1
                 translate: 1
        config_integration: 1
    config_integration_api: 1
         config_webservice: 1
How to Clean cache type(s)
php bin/magento cache:clean


$ php bin/magento cache:clean
Cleaned cache types:
How to flush cache type(s)
php bin/magento cache:flush
How to check enable, disable cache type(s)
php bin/magento cache:enable php bin/magento cache:disable

advanced command:

magento cache:enable [type] ... [type] 
magento cache:disable [type] ... [type]

E.g of disable full page cache

magento cache:disable full_page

Indexer command line

Check indexer status by the following command

php bin/magento indexer:info

We will get result:

design_config_grid                       Design Config Grid 
customer_grid                            Customer Grid 
catalog_category_product                 Category Products 
catalog_product_category                 Product Categories 
catalog_product_price                    Product Price 
catalog_product_attribute                Product EAV 
catalogsearch_fulltext                   Catalog Search 
cataloginventory_stock                   Stock 
catalogrule_rule                         Catalog Rule Product 
catalogrule_product                      Catalog Product Rule
How to Reindexe Data
php bin/magento indexer:reindex
How to Reset indexer status to invalid
php bin/magento indexer:reset
How to Show Index Mode
php bin/magento indexer:show-mode


$ php bin/magento indexer:show-mode 
 Design Config Grid:                   Update on Save 
Customer Grid:                         Update on Save 
Category Products:                     Update on Save 
Product Categories:                    Update on Save 
Product Price:                         Update on Save 
Product EAV:                           Update on Save 
Catalog Search:                        Update on Save 
Stock:                                 Update on Save 
Catalog Rule Product:                  Update on Save 
Catalog Product Rule:                  Update on Save
How to Set index mode type
php bin/magento indexer:set-mode {realtime|schedule} [indexer]


magento indexer:set-mode schedule 
catalog_category_product catalog_product_category

Deploy command line

Commands syntax:

php bin/magento setup:static-content:deploy  ...  [--dry-run] 

How to run deploy static content

php bin/magento setup:static-content:deploy

It will display as the following:

$ php bin/magento setup:static-content:deploy 
Requested languages: en_US 
=== frontend -> Magento/blank -> en_US === 

By default it will run deploy static content of default language: en_EN

If you want to deploy static content of other language such as: pt_BR


php bin/magento setup:static-content:deploy pt_BR

Then get result:

Requested languages: pt_BR 
=== frontend -> Magento/luma -> pt_BR === 
... progress indicator ... 
Successful: 1613 files; errors: 0 

=== frontend -> Magento/blank -> pt_BR === 
... progress indicator ... 
Successful: 1620 files; errors: 0 

=== adminhtml -> Magento/backend -> pt_BR === 
... progress indicator ... 
Successful: 1626 files; errors: 0 

=== Minify templates === 
... progress indicator ... 
Successful: 858 files modified ---

How to get admin path via command line

Do you know? You can get admin path without access to etc/env.php file.


php bin/magento info:adminuri


$ php bin/magento info:adminuri 
Admin URI: /admin

So the path is /admin, now navigate your browser to to access to Magento 2 backend.

How to enable maintenance mode via command line

Enable maintenance mode

php bin/magento maintenance:enable


$ php bin/magento maintenance:enable Enabled maintenance mode

Disable maintenance mode

php bin/magento maintenance:disable

Allow IPs to access to the store

Sets maintenance mode exempt IPs

php bin/magento maintenance:allow-ips


php bin/magento maintenance:allow-ips Set 
exempt IP-addresses:

How to set Magento Developer mode or Product Mode

Show current Magento 2 mode

php bin/magento deploy:mode:show


$ php bin/magento deploy:mode:show 
Current application mode: default. 
(Note: Environment variables may override this value.)

Currently, we are in default mode, let switch to Developer mode

php bin/magento deploy:mode:set developer


Enabled developer mode.
php bin/magento deploy:mode:set developer 

Viewed 1777 Times

Post On 2023-02-03