Introduction to Magento2 Command Line Interface (CLI)

Tags: ecommercemagentomagento2

Published on: March 28, 2016 by Afsal

Introduction to Magento2 Command Line Interface (CLI)


Magento2 is the latest version of Magento, a CMS for e-commerce websites. It is significantly different from the previous Magento 1.x editions. Magento2 Command Line Interface is quite useful in performing various operations such as installations and configuration tasks.

It can be accessed from the PHP file ‘<magento root>/bin/magento’. This single PHP file can be used to perform a variety of tasks on your Magento.

Magento CLI

Use the following command to list all the available commands for magento-cli.

php magento list


The output would look like the below image


Magento Cache

Use the following commands to perform operations on Magento cache.

php magento cache:status # To view the current status of all cache types, i.e, 1 for enabled and 0 for disabled types.
php magento cache:enable [type] # To enable a cache type.
php magento cache:disable [type] # To disable a cache type.
php magento cache:clean [type] ... [type] # To clean a cache type.
php magento cache:flush [type] ... [type] # To flush a cache type.</code>





Cleaning the cache deletes all items from the enabled cache types only.

Flushing the cache purges the cache storage.

If you do not specify type[s], it will clean/flush every cache types.


Use the following commands to perform operations on Magento indexer.

php magento indexer:info # To view the list of indexers.

php magento indexer:status [indexer] # To view the current status of an indexer.

php magento indexer:reindex [indexer] # To reindex an indexer.




Omit [indexer] to perform operation on all the indexers.

The Magento 2 indexer has 2 modes, 'realtime' and 'schedule'.

  • Realtime ( updated on save) : Indexed data is updated as soon as the change is made in the Admin panel.
  • Schedule ( update by schedule ) : Data is indexed according to a schedule set by your Magento cron.

Use the following command to view the current configuration.

php magento indexer:show-mode [indexer]


To change mode,  use the following command.

php magento indexer:set-mode {realtime|schedule} [indexer]


Code Compiler

To compile Magento code, use the following command if Magento has one website and store.

php magento setup:di:compile

For Magento with multiple stores and websites , i.e, more than one independent Magento applications.

php magento setup:di:compile-multi-tenant


Maintenance Mode

Use the following command to enable maintenance mode

php magento maintenance:enable

You can also use the following commands to exempt IP addresses from maintenance mode. Users with the exempt IP addresses will get the normal website.

php magento maintenance:enable [--ip=<ip address> ... --ip=<ip address>]


php magento maintenance:allow-ips [<ip address> .. <ip address>] | [--none]

Use –none to clear the list.



You can use the following commands to configure modules from CLI.


php module:uninstall <module name> # For uninstalling Modules
php module:status # For viewing the enabled and disabled modules
php module:disable <module name> # For disabling a module
php module:enable <module name> # For enabling a module  






You can use ‘ php magento module:disable –all ‘ to disable all modules and ‘ php magento module:enable –all ‘ to enable all modules.

Get 24/7 expert server management


Category : Linux, magento



Afsal is a tech enthusiast who is always ready to learn new technologies and explore new territories. Although his current focus revolves around the System Administration world, his never ending passion for technologies always keeps him active in other areas as well. He is currently working as a Systems Engineer at SupportSages.

You may also read:


Add new commentSIGN IN

Let's Connect

Get new updates


$0.000 items