Top 10 comandos CLI en Drupal, Backdrop y Wordpress

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@dropahead·
0.000 HBD
Top 10 comandos CLI en Drupal, Backdrop y Wordpress
![Drupal vs. Backdrop vs. Wordpress](https://www.steemimg.com/images/2016/10/11/Top10comandosCLIenDrupalBackdropyWordpress04ea4.jpg)

[Drush](https://www.drupal.org/project/drush),[ Drupal Console](https://www.drupal.org/project/drupalconsole) y[ wp-cli](https://codex.wordpress.org/wp-cli) son herramientas de línea de comandos (CLI) que muchos consideran el arma secreta para mejorar su productividad y por lo tanto son indispensables.

No ha sido una selección fácil, pero nos encontramos con gratas sorpresas para afinar nuestras técnicas al estilo de cada uno, porque las necesidades y las preferencias varían como es lógico ¿Estas de acuerdo con esta lista? ¿Está Wordpress muy lejos de Drupal en el CLI? ¿Es Drupal Console mejor que Drush?

Sin más preámbulo presentamos nuestra selección de los 10 comandos CLI más importantes tanto en Drupal, Backdrop y Wordpress:

NOTA: Hemos incluido una sección acerca de *drush para Backdrop* y *drush en Terminus*, indicando si el comando específico es soportado.


## WP-CLI

[WP-CLI](http://wp-cli.org) es un set de herramientas de línea de comandos para administrar instalaciones de[ WordPress](https://wordpress.org). Es posible actualizar plugins, configurar instalaciones de multisitio y mucho más, sin usar un navegador web.

* **wp help [<comando>]**
  Proporciona un listado de todos los comandos o muestra la ayuda del comando especificado.
  
  Ejemplo:

      wp help core

* **wp core [<subcomando>]**
  Descarga, instala y actualiza WordPress.

  Ejemplo:

      wp core install --url=ejemplo.com --title=Ejemplo --admin_user=admin --admin_password=admin --admin_email=admin@ejemplo.com

* **wp plugin [<subcomando>]**
  Administra los plugins.

  Ejemplo:

      wp plugin install bbpress --activate

* **wp scaffold [<subcomando>]**
  Genera el código necesario para crear un nuevo plugin, tipos de posts, taxonomías, etc.

  Ejemplo:

      wp scaffold plugin ejemplo-plugin

* **wp db [<subcomando>]**
  Exporta la base de datos MySQL a un archivo o devuelve una salida estándar.

  Ejemplo:

      wp db create

* **wp server**
  Lanza el web server integrado de PHP para la instalación de WordPress específica.

  Elemplo:

      wp server --host=0.0.0.0

* **wp site [<subcomando>]**
  Realiza operaciones referentes a todo el sitio.

  Ejemplo:

      wp site list --field=url

* **wp theme [<subcomando>]**
  Administra los temas.

  Ejemplo:

      wp theme status twentysixteen

* **wp user [<subcomando>]**
  Administra los usuarios.

  Ejemplo:

      wp user list --field=ID


## Drush

Drush es la herramienta de línea de comandos más utilizada en [Drupal](https://www.drupal.org/) y también está disponible en Backdrop (con algunas limitaciones). La documentación oficial de la última versión se encuentra en[ http://docs.drush.org/en/master/](http://docs.drush.org/en/master/). Los pasos de instalación se encuentra en[ http://docs.drush.org/en/master/install/](http://docs.drush.org/en/master/install/).

En el caso de Backdrop, hay que instalar un complemento que se lo puede descargar de[ https://github.com/backdrop-contrib/drush](https://github.com/backdrop-contrib/drush). Para poder utilizar los comandos de drush es necesario utilizar la versión 8 de drush, no funcionará con versiones anteriores ni con la última versión (al momento de escribir éste artículo la última versión es la 9)

A continuación el **Top 10 de comandos de Drush**. Algunos comandos han sido agrupados ya que usualmente se ejecutan de manera complementaria, incluso son ejecutados por otros comandos cuando la necesidad es evidente:

* **drush st (drush status)**
  Permite obtener información relevante acerca de la instalación de Drupal o Backdrop, como la versión de drupal que se está utilizando, base de datos, archivo de configuración de PHP que está siendo utilizando, rutas a los directorios de archivos públicos y privados, etc. 

* **drush si (drush site-install)**
  Permite instalar un sitio de drupal o backdrop.

  Ejemplo:

      drush si --db-url="mysql://username:password@localhost/databasename”

* **drush dl (drush pm-download)**

* **drush en (drush pm-enable)**

* **drush dis (drush pm-disable)**

* **drush pmu (drush pm-uninstall)**
  Permite descargar / habilitar / deshabilitar / desinstalar módulos de drupal

  Ejemplo:

      drush en -y views (habilita el módulo Views, lo descarga en caso de no estar presente y descarga y habilita cualquier dependencia requerida)

* **drush rsync**
  Permite sincronizar los archivos entre ambientes.	

  Ejemplo:

      drush rsync @site.prod:%files/ sites/default/files

* **drush sqlc**
  Permite conectarse a la base de datos sin necesidad de correr el comando de mysql o proveer credenciales o el nombre de la base de datos.

* **drush uli**
  Permite generar un enlace de autenticación que puede ser utilizado una sola vez para iniciar sesión como cualquier usuario registrado en el sistema.

  Ejemplo:

      drush uli editor

* **drush vget**

* **drush vset**
  Permite buscar variables y sus valores dentro del sistema así como inicializar o sobreescribir el valor de una variable.

* **drush cc**

* **drush cr**

* **drush rr**
  Permite limpiar el cache de drupal 7 (drush cc) y drupal 8 (drush cr). drush rr permite hacer una limpieza profunda del caché a nivel del registro de drupal, muy util cuando se mueve la carpeta de un módulo a otro lugar.

* **drush fd**

* **drush fu**

* **drush fra**

* **drush fua**

* **drush cex**

* **drush cim**
  Permite administrar la configuración. En Drupal 7 esto se lo realiza principalmente a través de features.

* **drush up**

* **drush updb**

### Mención honorífica:

* **drush sql-dump**

  Ejemplo:

      $ drush sql-dump | gzip -c > archivo.sql.gz
      $ drush sql-dump --gzip > archivo.sql.gz

* **drush sql-sync**

* **drush status-report**

* **drush ssh**

* **drush pml**

* **drush genc**

* **drush ev**

**Tip:** Invocar "**drush**" sin parámetros mostrará la ayuda y el listado completo de comandos disponibles.


## Drupal Console

Drupal Console es una herramienta que se ejecutan desde la línea de comandos (CLI) para generar código base, depurar e interactuar con Drupal 8, además nos permite descargar e instalar desde temas y módulos contribuido incluso un Drupal nuevo. Sigue las prácticas de PHP moderno indispensables para el Desarrollo en Drupal 8 haciendo uso del componente de Symfony Console y otros terceros.

A continuación una lista de los comandos indispensables de la consola

([http://drupalconsole.com/cheatsheet/#](http://drupalconsole.com/cheatsheet/#))

* **drupal list**
  Lista todos los comandos de la consola, para no olvidarse.

* **drupal site:install**

* **drupal si**
  Instala un nuevo proyecto Drupal.

* **drupal module:download**

* **drupal md**
  Se puede descargar uno varios módulos en la aplicación.

* **drupal generate:module**
  Permite generar un módulo con las configuraciones necesarias para trabajar.

* **drupal generate:controller**

* **drupal gcn**
  Generar y registrar un controlador

* **drupal generate:plugin:block**

* **drupal gpb**
  Genera un plugin de bloque

* **drupal generate:form**
  Permite generar un nuevo "FormBase".

* **drupal router:debug**
  Muestra todas las rutas actuales de la aplicación indicando el nombre de Ruta y el path.

* **drupal generate:theme**

* **drupal gt**
  Genera un tema a partir de los te los temas classy y seven (del core), además permite definir regiones, breadcrumbs, etc

* **drupal create:nodes**
  Permite la generación de nodos de prueba especificando la cantidad, tipo, longitud de título de los nodos a crear.

* **drupal generate:form:config**
  Ayuda a generar un nuevo "ConfigFormBase" de un módulo incluyendo y los campos del formulario que serán necesarios para la configuración de nuestros módulos.

* **drupal plugin:debug**
  Nos muestra un listado de todos los plugins, instancias y definición.

* **drupal chain --file=~/.console/chain/quick-start.yml**
  Permite ejecutar un archivo que contiene una serie de comandos que el usuario haya definido para realizar tareas específicas y repetitivas, por ejemplo instalar y ejecutar una nueva instalación de una versión específica de drupal.

* **drupal help [comando]**
  Muestra la documentación de un comando específico, incluidas las sub-opciones, por ejemplo "help generate"

## Autores

- [Daniel Dalgo](https://drupal.org/u/dalguete)
- [Eric Aguayo](https://www.drupal.org/u/ericmaster)
- [Heissen Lopez](https://drupal.org/u/heilop)
- [Jorge Valdez](https://drupal.org/u/georch)

## Editores

- [Natalia Poveda](https://www.drupal.org/u/npoveda214)
- [Angel Hañari](https://www.drupal.org/u/langelhc)
- [Fernando Paredes García](https://www.drupal.org/u/develcuy)

* * *
<center>
[dropahead](http://www.dropahead.com/) es un esfuerzo de:  
[<img src="http://www.dilygent.com/sites/default/files/Dilygent.png" alt="Dilygent: Talented minds - Mentes talentosas " title="Dilygent: Talented minds - Mentes talentosas ">](http://www.dilygent.com)  
Talented minds - Mentes talentosas  
</center>
<center>
¿Quieres aprender más?  
Síguenos en [http://www.dropahead.com/](http://www.dropahead.com/)
</center>
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,