ターミナルのことを調べてみた。

ターミナルの基本操作

Ruby on Railsを使っていて、基本的なターミナルコマンドやUNIXの仕組みが分からないと、説明を読んでもなかなか理解出来なかったり、無駄な勘違いで先に進めなかったりと、苦労が多くなる。(自分がそうである。)
Googleで、「UNIX コマンド」google:UNIX コマンドとか、「UNIX 初心者」google:UNIX 初心者などと検索すれば、とても親切に解説してくれる素晴らしいページがいっぱい出てきた!すべてのページに深く感謝!
特にお世話になったのはこのページ、ありがとうございました。

GUIに慣れきった考えない脳みそに、ここで活を入れる。

「パスを通す」とは...?

MySQLのパスワードを設定する時は、こんなふうにコマンド入力していた。

/usr/local/mysql/bin/mysqladmin -u root password 1234

しかし、「/usr/local/mysql/bin/」の部分を毎回入力するのは面倒なので、その部分を省略して入力出来る設定にすることを「パスを通す」と呼ぶらしい。
もし、上記のパスを通せば...

mysqladmin -u root password 1234

これでOKになる!
シンプルなことは良いことだ!

設定ファイルはどこだ?

MacBookのターミナルでは、bashというシェルプログラムが裏で動いている。
「パスを通す」ためには、bashの設定ファイルに設定事項を保存しておく。
それではその設定ファイルはどこにあるのか?
調べてみると、ここに素晴らしいページがあった。(bashの設定ファイルの項目)

  • ホームディレクトリ直下に「.bash_profile」または「.bash_login」または「.profile」という設定ファイルを置くことで、設定できる。
  • 「.bash_profile」「.bash_login」「.profile」の順で優先度が高く、優先度の高い設定ファイルが読み込まれたら、優先度の低い設定ファイルは無視されると理解した。


まず、パスが通っている状態を調べてみる。

echo $PATH

...すると、こんな表示が...

/bin:/sbin:/usr/bin:/usr/sbin

現在、/usr/local/mysql/binにはパスは通っていないようだ。


ホームディレクトリに、どんなファイルがあるのか確認した。

cd ~
ls -AFl

結果を見ると、「.bash_profile」「.bash_login」「.profile」とも存在しないようだ。


そこで、ユーザーレベルで一番優先度の高い「.bash_profile」に設定することにした。(ホームディレクトリ直下に、新規作成した)

      • もし、設定ファイルが既に存在していれば、その設定ファイルに追記するのが良いと思う。そうしないと、既にある何らかの設定が無視されてしまう可能性がある。

.bash_profileの設定

ターミナルからpicoというエディタを使って設定してみた。

cd ~
pico .bash_profile

picoの編集画面になるので、下記のように編集した。

export PATH=/usr/local/mysql/bin:$PATH

ctrl+oで保存操作し、

確認画面になるので、retuenキーを押せば、保存処理が完了する。


ctrl+xでpicoの終了。
これで、/usr/local/mysql/bin/の中のコマンドは、ディレクトリ指定なしで、ダイレクトに実行出来るようになった。

      • viやemacsといった素晴らしいエディタも最初から使えるが、使い方がまだよく分からん。
      • エディタは何でも良いが、テキストエディットでは余分な拡張子がついてしまったり、開くときに不可視ファイルを扱えなかったりと、苦労が多かった。
      • マウスが使えるGUIのエディタでは、miや、TextMateがストレスなく操作出来た。TextMateは日本語入力が出来ないことだけが難点...。
      • エディタなんか使わずに「echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile」なんてやってしまう手もあるようだ。