二回目の投稿となります。引き続き、よろしくお願いいたします。
本投稿では、「z」というディレクトリ移動コマンドについて紹介します。
◆ 「z」コマンドとは
bashおよびzshにて利用可能なディレクトリ移動コマンドです。なお、fishにおいても、プラグインを導入することで利用可能になります。
コマンドの使い方は単純であり、例えば「sample」というディレクトリに移動したい場合は、シェルに以下の入力を与えます。
$ z sample
「z」のインストール方法については、参考リンク先をご参照ください。
◆ 「cd」コマンドとの違いについて
シェルについて学んだことがあれば、ディレクトリの移動といえば「cd」を思い浮かべるかと思います。
ここでは、以下のシナリオをもとに、「z」と「cd」の違いを確認します。
--
ユーザ「alice」は、現在以下のディレクトリで作業中である。
・/home/alice/project1/new/test/
「alice」は、上記ディレクトリから下記のディレクトリに移動したい。
・/home/alice/project1/old/sample/
--
「cd」を用いると、以下のようにしてディレクトリを移動できます。
$ cd ../../old/sample/
もしくは、絶対パスの指定で移動することも可能です。
$ cd /home/alice/project1/old/sample/
tabキー補完でディレクトリの指定を簡略することもできますが、「z」を用いると、ディレクトリの指定がさらに簡略できます
(対象のディレクトリ名を指定するだけでよい)。
◆ その他(留意点など)
「あのディレクトリってどこにあったっけ」といったときでも、ディレクトリ名を指定するだけで移動できるため、非常に便利です。
ただし、アクセスしたことのないディレクトリに対しては、「z」で移動することはできません(少なくとも一度はシェルを介したアクセスが必要)。
また、以下の例のように、同じ名前のディレクトリが別々の場所に存在する場合は、最近のアクセスやアクセス頻度に応じて移動先が決まります。
--
・/home/alice/project1/new/test/
・/home/alice/project1/old/test/
$ z test
--
◆ 参考
・https://qiita.com/ucan-lab/items/6cd64e5bec6c3c50e7dc
・https://qiita.com/hiroki924/items/5d88874264eee5704198
以上です。