メニュー

コマンドラインの導入

Gravが、コマンドラインを念頭に作られたことは、よく知られています。管理パネルプラグインは、たしかに、ターミナル(MacOS や Linux)やコマンドプロンプト(Windows)を開かなくても、いろいろなことを、かんたんにできるようにしてくれますが、コマンドラインでできることのスピードや水準については、特筆すべき点が、たくさんあります。

このことは、自社サーバーや、コマンドラインでアクセス可能なリモートサーバーで運用している方に、特に当てはまります。コマンドラインから使えるツールの量は、信じられないほどあります。わずかなキーストロークで、サイトのホスティングも、Gravシステム自身も、そのプラグインやテーマも、実質的にすべての面をコントロールできます。

結局は、管理パネルを使うか、コマンドラインを使うかは、個人の好みに帰着します。このページでは、いくつかの素晴らしいリソースを取り上げます。それらは、コマンドラインに慣れるのに役立ちます。

[!Info]
すべてのOSで、コマンドの互換性があるわけではありません。MacOS と 多くのLinux のディストリビューションの間には、細かい違いがありますし、Windows のコマンドプロンプトとは、大きな違いがあります。

MacOS

MacOs は、 Unix ベースで、 POSIX 標準に準拠しています。これはつまり、他の Unix や Linux ベースのオペレーティング・システムで使い慣れたコマンドのほとんどが、 MacOS でも期待通りに動作するということです。ただし、例外もありますので、お使いのオペレーティング・システムの Terminal コマンドを調べることをおすすめします。

以下は、 MacOS の Terminal 利用に慣れるための素晴らしいリソースです:

Linux

世の中の Linux(および Unix )ディストリビューションの多くには、共通点があります:Bash コマンドラインインターフェース(ターミナル)です。Gnomeや、Unity、KDE、その他いずれの GUI で動かしていたとしても、デスクトップであれ、ノートPCであれ、コマンドラインを訪れたチャンスはあるでしょう。

何にせよ、 CLI はパワフルです。 GUIでできることは、ほとんど何でも、直接コマンドラインで実現できます。Linux のターミナルを使いこなすための素晴らしいリソースは、次のようなものがあります:

Windows

Windows は、いくつかの理由で他とは違っています。コマンドラインで使われるコマンドの多くは、そのルーツである DOS を彷彿とさせます。一般的なコマンド(たとえば、 ls でディレクトリの一覧表示)は、 Windows では機能しません。かわりに、 dir コマンドを使います。以下は、 Windows のコマンドプロンプトを使いこなすのに役立つ便利なリソースです:

[!Info]
Grav の CLI コマンドはすべて、PHP を使っており、Windows ではすぐに利用できるものではありません。PHP がインストールされているかどうかは、コンソールを開いて、 php -v と入力することで確かめられます。 'php' is not recognized as an internal or external command ... という表示が返ってきたら、PHP がインストールされていません。

Windows システムに PHP を追加したい場合、 “Environment Variables” を探す必要があります。スタートメニューで検索するか、もしくは、コントロールパネルから、 Advanced System Settings へ行き、 “Environment Variables” ボタンをクリックしてください。

“System Variables” の下に、 “Path” を見つけ、編集をクリックしてください。メモ帳に “variable value” をコピーし、最後にセミコロンを追加します(変数の区切りです)。それから、インストールした PHP ( スクラッチする か、開発環境に付いてきたものを使えます。)へのパスを探し、変数の長いリストの最後にパスを追記します。これは、フォルダのパスです。 php.exe は含めないでください。

ここまで終わったら、新しくコンソールを開いてください(もしくは現在のコンソールを再起動してください)。新しいパスが適用されています。もう一度、 php -v を試してみてください。 PHP 7.0.7 (cli) ... のような出力が得られるはずです。Grav のコマンドを実行するときは、 php をコマンドの最初に付ける必要があります。たとえば、 php grav/gpm index のように。

Grav 特有のコマンド

Grav がクールである理由の1つは、何でもできるパワフルなコマンドを持っていることです。追加のプラグインやテーマをインストールしたり、ユーザーを管理パネルに追加したりできます。このセクションでは、最も一般的なコマンドを挙げます。

以下のコマンドはすべて、どのOSにも 対応しています。

コマンド説明
bin/grav listGrav で使える(GPM 以外の)コマンドをリスト表示します
bin/grav help <command><command> のヘルプを表示します
bin/grav new-project <location>Used to create a new, clean Grav instance in a different folder. Can be run from an existing Grav install.
bin/grav install現在の Grav に必要な依存関係をインストールします
bin/grav cacheキャッシュをクリアします。次のオプションが付けられます: --all, --assets-only, --images-only, and --cache-only
bin/grav backup現在の Grav サイトのバックアップを zip で作ります
bin/grav composer手作業でインストールした、コンポーザーベースの vendor パッケージをアップデートします
bin/grav security設定されたXSS セキュリティチェックを、すべてのページに対して実行します
bin/gpm listGPM(Gravパッケージマネージャー)経由で利用できるすべてのコマンドをリスト表示します
bin/gpm help <command><command> のヘルプを表示します
bin/gpm indexテーマとプラグインで整理して、Grav リポジトリの利用可能なリソースの一覧を表示します
bin/gpm info目的のパッケージの詳細を表示します。たとえば、説明、作者、ホームページなど。
bin/gpm installリポジトリから、利用中の Grav へ、シンプルなコマンドでリソースをインストールします
bin/gpm updateインストール済みのプラグインやテーマでアップデート可能かをチェックし、一覧表示します
bin/gpm uninstallインストール済みのプラグインやテーマを削除し、キャッシュもクリアします
bin/gpm self-upgradeGrav を最新版にアップデートします
bin/gpm logviewerEasily view Grav logs with configuration options to pick log file, number of lines, and verbosity
bin/gpm schedulerスケジュールされたジョブを管理し、必要に応じてスケジュールされた処理を手動で実行します

[!Info]
これらのコマンドのより詳しい説明は、 Grav CLIGrav GPM のドキュメントで解説します。

以下のコマンドは、mac もしくは unix 系システム で使えます。

コマンド説明
bin/gpm index | grep '| installed'インストール済みのテーマとプラグインを一覧表示。

シンボリックリンク(Symbolic Links、シムリンク symlinks とも言います)は、大変便利で、コマンドライン上でかんたんに実行できます。やることは、与えられたフォルダやコンテンツの仮想的なコピー(クローン)を作り、好きなところに置けます。真のコピーと違い、オリジナルとシンプルなトンネルでつながっています。これにより、内容の変更が一度に、オリジナルとシムリンクすべてに反映されます。

もうひとつの素晴らしいメリットは、同じファイルの複数のコピーを持つわけではないので、ディスク容量を圧迫しないことです。

Grav では、シムリンクは複数のインスタンスに、プラグインやテーマ、コンテンツを追加するのに最適な方法であり、更新や修正がかんたんになります。一度変更を加えれば、シムリンクされたすべてのファイルに反映されます。

シムリンクの実行プロセスは、OS間によって多少の違いはあるものの、非常にかんたんです。

コマンドのパターンは、 ln -s <オリジナルのファイルまたは、ディレクトリ、コンテンツ> <仮想的なコピーをここに置きます> のようになっています。

シムリンクを開始するコマンドは、OSにより異なります。MaxOS や、大半の Unix 及び Linux のディストロでは、ln -s がコマンドです。ln 部分がシステムにリンクを作るよう指示します。-s により、リンクをシンボリックにします。

Windows でのコマンドの基本構造は、 mklink <type> <put virtual copies here> <original file, directory, or its contents> です。 MacOS や、 Linux とは違い、シンボリックリンクの type を引数として設定する必要があります。リンク元とリンク先も、逆順です。新しいシンボリックリンクが、リンクされるファイルの前に来ます。ここでは、3つの引数が使えます:

  • /j - これは最も一般的に使われる引数です。ディレクトリのシムリンクを作成します。
  • /h - 特定のファイルのシンボリックリンクを作成します。
  • /d - これは、soft link もしくはショートカットを作成します。今回説明しているような目的では使う場面は無いでしょう。

コマンドの例

基本的に、次のものを指定します。シムリンクを始めるコマンド、何をシンボリックリンクするか、どこに仮想的なコピーを置くか。以下に、これらの例を詳しく示します:

MacOS and LinuxWindows
ln -s ~/folder1 ~/folder2mklink /J C:\folder2 C:\folder1

このコマンドは、シムリンクを作り、 folder1 にあるオリジナルコンテンツを使って、folder2 の中にシンボリックリンクされたそれらのコピーを置きます。もし folder2 が存在しなければ、このコマンドにより作られます。

MacOS and LinuxWindows
ln -s ~/folder1 ~/folder2/mklink /J C:\folder2\ C:\folder1

このコマンドは、folder1 全体をコピーし、ターゲットの場所(この場合、folder2 )に配置します。この場合、folder2 はすでに存在している必要があります。このコマンドによりフォルダは作成されません。folder2 の末尾のスラッシュもしくはバックスラッシュに注目してください。

MacOS and LinuxWindows
ln -s ~/folder1/file.jpg ~/folder2mklink /H C:\folder2\ C:\folder1\file.jpg

これは、単独のファイルをシンボリックリンクするときに便利です。ファイルを不k数雨のディレクトリ間のシェアしたいときに、特に便利で、あらゆる場所のそれらリンクのアップデートを同時にすることができます。オリジナルファイルが、唯一のシンボリックでないコピーなので、すべてのシンボリックリンクが機能するためには、オリジナルはその場所にいなければいけないことに留意してください。