bashの使い方

TAB補完

TABキーを2回入力するとコマンド一覧を表示してくれる。1つに絞れるところまで入力した場合はTABキーを1回入力するだけで残りの文字列を補完してくれる。

入力履歴

『Ctrl+r』キーでいままで入力した履歴を参照できる。このプロンプトが表示されるので、なるべく特徴的なフレーズを入力するとそれを探してくれる。

(reverse-i-search)`':

『sudo /etc/init.d/apache2 reload』を探そうと思ったら、『r』、『e』、『l』と入力していくと目的の履歴にたどり着く。『apache』などと入力すると他にたくさんの候補がマッチするので検索の意味がない。

(reverse-i-search)`rel': sudo /etc/init.d/apache2 reload

これでいいと思ったら、→キーでも←キーでも押せば、履歴検索モードから抜け出してこのコマンドを実行できる状態になる。

直前の引数呼び出し

『Esc』+『.』キーで直前のコマンドの最後の引数が呼び出せる。

$ file /etc/init.d/mysql
/etc/init.d/mysql: Bourne-Again shell script text executable

この次に『/etc/init.d/mysql』の中身を確認したいなぁと思って『less』するときに、『less 』と入力してから『Esc』+『.』キーで押すと『/etc/init.d/mysql』が呼び出される。
書いてて、たぶん使わないなと思った。↑キーで『file /etc/init.d/mysql』を出して、『HOME』キー、『Ctrl+D』キーで『file』を編集したほうが楽だもんな。

エイリアス

$ alias la='ls -al'

これは便利だ。使わなきゃ。こうしておくと『la』で詳細な一覧が出て便利。『~/.bash_profile』に保存しておくことを忘れずに。

bash起動時の流れ

 1.『/etc/profile』を読んで実行。これは全ユーザ用のグローバルなbashの初期設定
 2.『/etc/profile.d/』ディレクトリ以下にあるすべてのシェルスクリプトを実行
 3.『~/.bash_profile』スクリプトを実行
 4.『~/.bashrc』スクリプトを実行。非ログインシェルにも反映させたい処理を記述
 5.『/etc/bashrc』スクリプトを実行。これは全ユーザ用のグローバル設定

ユーザが使用するログインシェルの環境をカスタマイズするには3と4の『~/.bash_profile』、『~/.bashrc』いずれかにカスタマイズを記述する。