エイリアスとプロンプト設定
前提:6-4が完了し、~/scriptsに練習スクリプト一式(hello.sh・greet.sh・judge.sh・loop.sh・args.sh・welcome.sh・logclean.shなど)があり、ホームディレクトリにいる状態から始めます。第6章の最後は、長いコマンドに自分だけの短い呼び名を付けるaliasと、ターミナルの見た目を決めるプロンプト(PS1)のカスタマイズです。設定ファイル.bashrcに書き込むことで、次回ログインしてもずっと使える「自分だけの操作環境」を作り上げます。第6章の総仕上げとして、ここまでの学びを自分の手元に定着させましょう。
このページではSET 1〜3、合計30行のコマンドを上から順に叩きます。手打ち推奨(コピーは確認用)です。
SET 1 ― aliasで自分専用のコマンドを作る
- $alias
- alias ll='ls -alF'
- alias ls='ls --color=auto'
- $ll
- $type ll
- ll is aliased to `ls -alF'
- $type cd
- cd is a shell builtin
- $alias study='cd ~/practice'
- $study
- $pwd
- /home/ubuntu/practice
- $alias myscripts='cd ~/scripts'
- $myscripts
- $cd ~
1行目のaliasを引数なしで実行すると、今のシェルに登録済みのエイリアス一覧が表示されます。エイリアス※1とは「コマンドの別名」のことで、出力例のとおりUbuntuの.bashrcには最初からll='ls -alF'のような便利な設定がいくつも用意されています。llはls -alF(詳細・隠しファイル込み・種類を記号付きで表示)の短縮名で、第1章から使ってきたls -laとほぼ同じ内容を、たった2文字で呼び出せる設定です。
2行目で実際にllと打つと、ls -alFを打ったのと同じ結果が返ってきます。3行目のtype(第1章1-5で学習済み)にエイリアス名を渡すと、それが「何の別名なのか」を教えてくれます。4行目のようにcdのようなエイリアスではないコマンドにtypeを使うと、出力例のとおり「シェル自体に組み込まれた機能(シェルビルトイン)」であることが表示され、エイリアスとは違う種類のコマンドであることがわかります。
5行目のalias study='cd ~/practice'が、自分で新しく作るエイリアスです。alias 呼び名='実際のコマンド'という書き方で、好きな短縮名を登録できます。6行目でstudyとだけ打つと、出力例のとおり~/practiceへ一発で移動できるようになります。長いパスを毎回打たずに済むので、よく行く場所ほどエイリアス化する価値があります。
8行目のalias myscripts='cd ~/scripts'のように、同じ考え方でいくつでもエイリアスを増やせます。9行目で早速呼び出し、6-2から使い続けている~/scriptsへも一発で移動できることを確認します。最後に10行目のcd ~でホームディレクトリへ戻ります。

エイリアスって「自分専用の短縮ダイヤル」みたいな感覚だよ! よく使うコマンドほど短い名前を付けておくと、タイピングの手間も減るし、打ち間違いも減るし、いいことずくめ。study→~/practiceみたいに、自分の生活に合わせて名付けるのが楽しいポイント!
SET 2 ― プロンプト(PS1)を一時的に変える
- $echo $PS1
- $PS1="[\u@\h \W]\$ "
- [ubuntu@lightsail ~]$
- $cd ~/scripts
- [ubuntu@lightsail scripts]$
- $cd ~
- $PS1="\d \u:\W\$ "
- Fri Jul 03 ubuntu:~$
- $PS1="[\u@\h \W]\$ "
- $whoami
- ubuntu
- $bash
- ubuntu@lightsail:~$
- $echo $PS1
- $exit
1行目のecho $PS1で、今表示されているプロンプト(ubuntu@lightsail:~$のような文字列)の設定内容を確認します。これも6-1で学んだ環境変数の一種で、PS1※2という名前の変数にプロンプトの見た目が入っています。
2行目のPS1="[\u@\h \W]\$ "で、この見た目を書き換えます。\uはユーザー名、\hはホスト名(サーバー名)、\Wは現在いるディレクトリ名(パス全体ではなく最後の部分だけ)、\$は一般ユーザーなら$・rootなら#を自動で出し分ける記号です。実行すると出力例のとおりプロンプトの見た目が変わります。
3行目でcd ~/scriptsすると、出力例のとおり\Wの部分が自動でscriptsに変わり、今いる場所がひと目でわかるようになります。5行目のPS1="\d \u:\W\$ "のように、\d(今日の日付)を組み合わせた別のパターンも試してみます。組み合わせ方は自由なので、自分が見やすい並びを探してみてください。6行目でSET 2の最初に決めた形に戻しています。
7行目のwhoami(第0章で学習済み)を実行してもプロンプトの見た目には影響しませんが、これはPS1があくまで「表示のされ方」を決めているだけで、ユーザー自体を変えているわけではないことの確認です。
ここまでの変更は今のシェルだけの一時的な設定で、8行目のbashで新しいシェルを立ち上げると、出力例のとおり6-1の環境変数のときと同様に元の見た目に戻ってしまいます。9行目のecho $PS1で確認すると、新しいシェルでは初期設定のプロンプトに戻っていることがわかります。10行目のexitで新しいシェルを抜け、元のシェルに戻ります。この「一時的にしか効かない」不便さを解消するのが、次のSETで行う.bashrcへの書き込みです。
\u(ユーザー名)・\h(ホスト名)・\W(現在地)・\$(権限に応じた記号)は、プロンプトのカスタマイズで特によく使う4つの記号です。まずはこの4つだけ覚えれば十分実用的なプロンプトが組めます。
SET 3 ― .bashrcに書き込んで永続化する
- $tail -n 5 ~/.bashrc
- $wc -l ~/.bashrc
- $nano ~/.bashrc
- (ファイル最後尾に移動し、下の3行を追記して保存)
- alias study='cd ~/practice'
- alias myscripts='cd ~/scripts'
- PS1="[\u@\h \W]\$ "
- $tail -n 4 ~/.bashrc
- $source ~/.bashrc
- [ubuntu@lightsail ~]$
- $type study
- study is aliased to `cd ~/practice'
- $type myscripts
- myscripts is aliased to `cd ~/scripts'
- $study
- $myscripts
- $cd ~
1行目のtail -n 5 ~/.bashrc(第1章1-4で学習済み)で、ホームディレクトリにある.bashrc※3というファイルの末尾を確認します。.bashrcはbashが起動するたびに自動で読み込まれる設定ファイルで、SET 1で見たllのエイリアスも、実はこのファイルの中にあらかじめ書かれています。2行目のwc -lで、書き換える前の行数を数値として記録しておきます。
3行目でnano ~/.bashrcを開き、ファイルの一番下にSET 1・SET 2で試した設定を追記します。alias study='cd ~/practice'・alias myscripts='cd ~/scripts'・PS1="[\u@\h \W]\$ "の3行を書き加えることで、ターミナルを起動するたびにコマンドを打ち直さなくても、この設定が自動で反映されるようになります。4行目のtail -n 4で、追記が正しく保存されたことを確認します。
ただし.bashrcはファイルを保存しただけでは反映されず、本来は次にログインし直したときに読み込まれます。今すぐ反映させたいときは、5行目のsource ~/.bashrcを使います。sourceは指定したファイルの中身を、新しいシェルを起動せずに今のシェルへそのまま読み込ませるコマンドです。実行すると出力例のとおりプロンプトの見た目がその場で変わり、以後は再ログインしなくても新しい設定が使えます。
6行目のtype study、7行目のtype myscriptsで、新しく作った2つのエイリアスが正しく登録されていることを確認し、8〜9行目で実際に呼び出して動作を確かめます。最後に10行目のcd ~でホームディレクトリへ戻り、次の章に備えてこのページを終えます。これで、あなたの.bashrcには、あなた専用の操作環境が刻み込まれました。

.bashrcを育てていくのって、スマホのホーム画面を自分好みに並べ替えていく感覚に似てるなってあたしは思う! 最初はUbuntuが用意してくれた設定だけだったけど、ここに自分のエイリアスやプロンプトを足していくたびに、このサーバーが「自分の場所」になっていく感じがして地味に嬉しいんだよね。
.bashrcを書き換えたらsource ~/.bashrcで即反映、を1セットで覚えてください。「設定したのに反映されない!」と焦ったときは、大抵sourceを忘れているだけです。
まとめ
6-5では、aliasで自分専用の短縮コマンドを作り、PS1でプロンプトの見た目を整え、.bashrcに書き込んでsourceで反映させるところまでを体験しました。これで第6章「シェルの力」は完了です。このページで叩けるようになったコマンドを一覧にまとめます。
| コマンド / 記法 | 何をするか | 覚え方 |
|---|---|---|
alias | 登録済みのエイリアス一覧を表示する | 引数なしで一覧表示 |
alias 呼び名='コマンド' | コマンドに自分専用の短縮名を付ける | 短縮ダイヤルを登録するイメージ |
type コマンド名 | それが何の実体・別名かを調べる | 第1章で学習済み、エイリアス調査にも使える |
$PS1 | プロンプトの見た目を決める環境変数 | Prompt String 1 |
\u \h \W \$ | PS1の中でユーザー名・ホスト名・現在地・記号を表す | user / host / Working dir / $か# |
~/.bashrc | bash起動時に自動で読み込まれる設定ファイル | 自分だけの設定を書き足す場所 |
source ~/.bashrc | 再ログインせずに設定を今すぐ反映する | 再読み込みボタン |
次のページ「7-1. 自分のページを公開する」からはいよいよ第7章「卒業制作」です。nginxを使って、あなたが作ったサーバーの上に、実際に世界からアクセスできる自分のページを公開します。