はじめに
たとえばシェルからSSHをする場合、
ssh -l pythonista 192.168.0.18
のような感じで入力すると思いますし、よく使うファイルを毎回こんな感じで
source env/bin/activate
cd files
python3 batch.py
みたいな感じで毎回毎行入力していたら面倒も面倒ですよね。
ただ矢印キーやctrl+p,nを押すと「以前入力したコマンド」が順番に出てくるので、それに頼っている場合も多いハズ。
そんななかで、複数行の命令も一発で実行できるような、独自のショートカットコマンドがあれば楽だなあ、と感じませんか。
そこでいろいろ調べると、Linuxの場合それはエイリアスという形で実現しているようです。
Linuxの入門書は通読しましたが、Linuxを実践(簡易サーバー化)するまでラグがあって、仮にエイリアスの項目は見ていたとしてもすっかり忘れていたか、そもそも概念として「使う」→「なんとなく把握する」→「疑問」というステップを踏まなければわからないような内容だったので、無意識的にスルーしていたのかもしれません。
いずれにしましても、コマンドのショートカットはエイリアスといい、数行まとめた形でも順番に、あるいは&&などの論理実行も可能ですと。
そもそも[ls]や[cd]もエイリアスだったんですね。そういうショートカットコマンドというか。
以下、そのエイリアスを設定するためのショートリファレンスです。
1. まず自分のログインシェルを知る
grep $USER /etc/passwd | cut -d: -f7
これで、bashかzshかわかります。なんなら先頭が$か%かでもわかるっぽいですが。
そして、bashの場合。
2. bashrcは登録ファイル
nano ~/.bashrc
viでもいいですがnano派なので。
.bashrcの下の方とか一番下に記述。
alias ●●='XXX'
●が好きなショートカット名、XXXがコマンド。パイプも&&も有効。
パイプ(|)は出力を受け渡しつつ次のコマンドを実行、&&は論理積実行。論理積実行とかいうと難しく感じるが、単にコマンドが無事実行できたら次のコマンドを実行するというだけ。実行結果がどうであれ実行してくれるやつもあります。普通は&&でよかろうと思います。
3. エイリアス登録しただけではだめ
nano ~/.bash_profile
でbashのプロファイルを開いて、
source ~/.bashrc
これを貼り付けてrcをプロファイルに登録。これでもまだだめ。
4. プロファイルを書いただけや更新しただけではすぐに実行はしてくれない
システム再起動すればOKらしいですが、面倒です。
source ~/.bash_profile
ターミナルでこれを打ち込めば、即座にプロファイルが反映されて、晴れてすぐにエイリアスが使えるようになります。
おわりに
いくらでも出てくる情報とはいえ、「エイリアス」というキーワードを知らずに手持ちのキーワードで調べる人がたどり着きやすいように作った感じです。ここで得たキーワードをもとにクモの巣状に知識を広げて補完していくことに役立てれば幸いです。