Drush 是一个强大的 shell 接口,可以直接从云服务器命令行管理 Drupal。它是一个非常有用的工具,可以帮助您使用终端中的一两个命令执行各种管理任务,取代了在 UI 中进行许多点击和页面刷新。
本教程将介绍一些基本的 Drush 命令,并使用标准的 Drupal 安装来进行演示。它假设您已经在云服务器上安装了 Drush,并且在其中有一个可用的 Drupal 副本。如果您不知道如何操作,请参考早期教程中的所有步骤。
注意:所有以下命令都需要在 Drupal 安装目录内执行。实际位置并不重要,只要您在根文件夹的某个位置即可。
首先,进入 Drupal 文件夹目录:
cd /var/www/[drupal_folder_name]
最简单的 Drush 命令之一是:
drush status
这将为您提供 Drupal 站点的概述。版本、URI、数据库位置、文件路径、默认主题等。如果您使用此命令却没有看到这些信息,那意味着您所在的文件夹错误,Drush 不知道您指的是哪个 Drupal 站点。
如果您是 Drupal 开发人员,您会知道清除缓存是您经常做的事情。使用 Drush,这几乎是一件有趣的事情:
drush cc
这将询问您要删除哪种类型的缓存以进行更精细的控制,但如果您运行以下命令,将直接清除所有缓存:
drush cc all
让我们安装 Views(我相信您已经了解这个模块)。要做到这一点,首先运行以下命令:
drush pm-download views
或者
drush dl views
这两个命令中的任何一个都将下载 Views 并将其放置在适当的 sites/all/modules 文件夹中。第二个命令是第一个命令的简短版本。您会注意到许多命令都有简短版本,以获得更快的体验。例如,drush status 命令的长版本是 drush core-status,所以如果您看到其他人使用长版本,不要感到惊讶。
现在 Views 已安装,使用以下命令启用它(其长版本为 pm-enable):
drush en views
您会看到 Drush 立即告诉您 Views 需要下载并启用 Ctools,并询问您是否也应执行这些操作。如果选择是,它将下载 Ctools,并再次询问您是否要启用 Views 和 Ctools。再次选择是,完成。现在,仅凭这一个命令,您节省了多少点击和 URL 复制?
如果要禁用 Views,请运行以下命令(其长版本为 pm-disable):
drush dis views
如果要卸载 Views,可以使用以下命令:
drush pm-uninstall views
这也将删除属于该模块的数据库表。
注意:您应该使用 Drush 的模块名称是机器名称。如果您对该名称有疑问,可以轻松地从模块项目页面 URL 中检索到它:drupal.org/project/views。最后一个 URI 段是您要找的内容。此外,如果您希望 Drush 对所有这些模块执行操作,可以用一个空格分隔多个模块名称。例如:
drush pm-uninstall views ctools
因此,安装模块非常简单。那么主题呢?它的操作方式完全相同。主题也是 drupal.org 项目,您可以使用相同的命令下载和启用它们。
如果您想查看站点上所有项目的概述,可以运行以下命令(其长版本为pm-list):
drush pml
这将返回站点上所有项目的列表。如果列表太长而难以管理,您可以传递各种参数进行过滤,以满足您的需求。例如,如果您想查看所有非核心项目,可以运行此命令:
drush pml --no-core
您在站点上处理许多用户帐户吗?Drush 可以帮助您轻松管理。
您可以使用以下命令创建新用户:
drush user-create username --mail="[email protected]" --password="password"
终端将显示有关新创建用户的一些信息。想要删除此用户吗?使用以下命令:
drush user-cancel username
就是这么简单。想要更改您的密码吗?或者其他用户的密码?运行以下命令:
drush user-password admin --password="new_pass"
在更新 Drupal 项目或 Drupal 核心本身时,Drush 非常方便。
首先,让我们看看您的更新选项。您需要更新模块、主题和核心,包括代码库和数据库表。如您所知,在 UI 中,这需要分两步进行,首先下载代码库,然后运行待处理的数据库表更新的 update.php 脚本。在 Drush 中,这也分为两个命令,但您也可以将它们合并为一个命令。
首先,您可以使用以下命令检查是否有可用的更新:
drush up -n | grep available
这是 pm-update 命令的简短版本,但它会自动回答“否”以防止实际更新,并且只显示包含可用更新的终端行(以避免屏幕混乱)。
如果您想一次性更新所有内容(不建议),只需运行 drush up
命令。但最好逐个安装更新,或者按模块组进行安装,这样您就能够跟踪站点是否出现故障。
要仅升级 Views(包括代码库和数据库),如果它出现在可用更新列表中,运行以下命令:
drush up views
如果要分别更新代码库和数据库,首先使用以下命令更新代码库:
drush upc views
然后,要更新数据库表,您可以在浏览器中运行 update.php
脚本,或者使用以下命令:
drush updatedb views
这将运行数据库更新脚本。完成。Drupal 核心的更新方式也是一样的。如果您只想更新 Drupal 核心,运行以下命令:
drush up drupal
正如您所看到的,使用 Drush 对 Drupal 开发人员和站点管理员来说都更加轻松。这些只是您每天可以使用的一些常见和基本命令。但还有许多更高级的命令,非常酷,值得学习。