rrユーティリティによる長いパスの記憶と再生

 rr — retain and recallの略 — は単純ながら有用なユーティリティである。システムの奥深くに仕舞い込まれたconfigファイルをいじらなければならないが、わざわざフルパス名を入力するのは面倒だという場合に役に立つ。

 rrをインストールするには、ソースをダウンロードし、「tar xzf rr-1.3.tar.gz」といったコマンドで圧縮を解除する。そして、作成されたrr-1.3サブディレクトリに入り、makeを実行してから「sudo make install」を実行する。このインストレーションにはmanファイルが含まれているので、rrの詳細についてはmanで調べてほしい。

 では、rrの使い方を見てみよう。仮にRDBMSのconfigファイルをしばしば編集する必要があると思ってほしい。このファイルは/usr/local/rdbms/etc/my.configだとしよう。rrを使ってフルパス名を記憶し、編集が必要になったときに再生すれば、作業が簡単になるだろう。

 「rr /usr/local/share/rdbms/etc/my.config」コマンドを使用すると、ファイルのフルパスが記憶される。存在しないファイルをrrに記憶させようとすると、「rr: failed to retain: /usr/local/share/rdbms/etc/my.config (non-existent or non-accessible file)」というメッセージが表示される。

 このファイルにアクセスしたいときは、次のようにエディタでファイルを開くコマンドの前にrrを付け、ファイル名だけを指定すればよい。

rr gedit my.config

 ファイル名が一意である限り、これでうまくいく。しかし、HTTPサーバにもmy.configファイルがあって、それも編集したいとすると、果たしてどうなるだろうか。

 2つめのmy.configファイルのパスを記憶するようrrに命じると、rrはすんなりそうするが、最初のmy.configファイルのパスは忘れてしまう。そのため、データベースサーバのconfigファイルを編集しようとしてrrで再生を試みると、代わりにHTTPサーバのconfigファイルのほうが再生されてしまう。rrがどちらのmy.configを記憶しているのか分からなくなったときは、「rr my.config」と入力するとよい。こうすると、ファイルのフルパスが表示される。

 rrにはディレクトリまでの長いパス名を記憶させることもできる。この場合、次のようにディレクトリパスを指定する。

rr /usr/local/share/rdbms

 こうしておくと、このディレクトリで作業をする必要が生じたときに、単に次のように入力すればよい。

cd `rr rdbms`

 rrコマンドを、単一引用符や二重引用符ではなく、抑音アクセント記号(バッククォート)で囲んでいることに注意してほしい。この記号はキーボードの最上列にあるチルドの下のキーで入力できる。

 rrは単純ながら有用なツールである。同じファイル名で終わる2つのファイルパスを再生できないことが問題になる場合は、シンボリックリンクを使用するとよいかもしれない。そうすれば自由に名前を付けることができるので、rrで実際のファイル名の代わりにシンボリックリンク使用することで名前の衝突を避けられる。また、rrはフリーソフトウェアなので、自分にとって都合のよい動作をするようにプログラム自体を修正することもできる。

Linux.com 原文