未来電子テクノロジーでインターンをしているtokky08です。
シェルについて勉強したのでアウトプットとして書いていきます。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
シェルって何?
まず、私たちは直接PCの中身とやり取りする事はありません。代わりにシェルというものがやり取りをします。私たちがシェルに命令する事で、シェルはその内容に従ってPCとやり取りをする事になります。
シェルの種類は・・・
sh / bash / ksh / csh / tcsh / zsh などがあります。
この中のbashとzshを取り上げてみます。
bashとzsh
結論から言うと、bashよりzshの方が便利!と言う事です。
bash・・・
Unix/Linux系OSで標準的に利用されているシェルです。
zsh・・・
bashが提供する機能に加えて、他のシェルの機能も加わってます。
軽量で強力な補完機能がある。
カスタマイズできる。
tmuxって何?
tmuxとは、端末多重化ソフトウェアのことである。
これまでは作業ごとにそれぞれターミナルを開く必要があったが、tmuxを使えば1つのターミナル上で複数のターミナルを立ち上げて同時並行で別々の作業ができる。
メリット
- 1つのssh接続で複数のシェルを立ち上げて作業することができる。
- ssh接続中にネットワークの接続が切れても、強制終了されない。
- tmuxの状態が保存されるため作業中止をしてもいつでもスムーズに戻れる。
- 別のPCからでも同じセッションが使える。
- 他の人にセッションに同時に入ってもらって、作業を見せることができる。
使い方
僕の.tmux.conf
ファイルの中身です。ほぼカスタマイズしてません。
set-option -g status-right "#[fg=black][%Y/%m/%d %H:%M:%S]"
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
# 256色端末を使用する
set-option -g default-terminal "screen-256color"
コマンド | 意味 |
---|---|
tmux | 新規セッションを開始 |
tmux ls | セッションの一覧表示 |
tmux kill-session | セッションを終了 |
tmux kill-server | tmux全体を終了 |
prefix + c | 新規ウィンドウの作成 |
prefix + (数字0-9) | 指定番号のウィンドウへ移動 |
prefix + & | ウィンドウの破棄 |
prefix + n | 次のウィンドウへ移動 |
prefix + p | 前のウィンドウへ移動 |
prefix + % | 左右にウィンドウを分割 |
prefix + " | 上下にウィンドウを分割 |
prefix + q | ペイン番号を表示 |
prefix + x | ペインの破棄 |
prefix + t | ペインに時間を表示 |
prefix + [ | コピーモード開始 |
prefix + スペース | コピー開始位置決定 |
prefix + エンター | コピー終了位置決定 |
prefix + ] | コピーした内容を貼り付ける |
まとめ
bashよりもzshの方が便利と言うことで僕のMacにもzshを入れてみました。色々カスタマイズできるところがいいですね。tmuxも使ってみましたが、まだよく分からないですね。普段ターミナルを複数使う機会がないので、いずれ良さが分かってくるんですかね。