tmux
vimの代わりにtmuxを使う(tmux→vim時の画面分割の参考)
% tmux
❌ボタンで消しても、接続は切れていない。 % tmux a
で戻る(繋げる)。
exitで出てしまうと、sessionsは切れてしまうため、 % tmux a
で戻れない。
% tmux
で開いた後、ctrl+b→cでターミナルを作ってくれる。ctrl+b→nで次の画面、pで前の画面を選べる。
% tmux
はデフォルトでも、どの画面にいるのかわかりやすい。
新しいLinuxの教科書 9章のコラムにtmuxを使ってみるとあったので、
ダウンロードして少しだけ使用。覚える優先度は低い。ひとまずはターミナルで良さそうだけど、わからない部分の理解はしておきたい。
質問1: tmuxがやっていること、ターミナル、vim、tmuxの違いがわからない。
ターミナルは、ローカルでもssh接続でも使える。
実際Linuxにvagrant sshで接続しなくてもtmuxを使えた。
踏み台サーバーとは? (下記図)
ターミナル=端末。コマンドプロンプト。
tmux=仮想端末アプリの一つ。ターミナルも同じ。
itarm2はマックユーザーがよく使う。
tmuxのうまみ。
踏み台サーバー 特定のサーバーからだけ別のサーバーに入れるようにする。個人のサーバーから入れないようにしたい時など。踏み台サーバーを潰せば、他のサーバーに入れなくなる。踏み台サーバーだけ見ればいいので、セキュリティ監視が楽になる。踏み台アカウントなどもある。
tmux利用のイメージ図
ssh先の踏み台サーバ上でtmuxを起動して各サーバ群にssh接続します。私はウィンドウ毎に接続先サーバを分ける等して使ってます。tmuxセッションが残っていれば、自端末と踏み台サーバ間の通信は切れても問題ありません。
Centos7にインストール
tmuxの最新バージョンは3.2aだけど、2.9aのソースコードをインストール
コマンド
Linuxの新しい教科書より
プロセス:メモリ上で実行状態にあるプログラムのこと。Linuxカーネルから見た処理の単位
実行されているプロセスにはプロセスIDがついている。
Linuxではマルチタスク機能でさまざまなプロセスが同時に動作している。
プロセスの表示
ps
:現在のターミナルで実行されているプロセスだけを表示
ps xf
:現在のターミナル以外のプロセスも表示
PSコマンドのオプション組み合わせ例
x
:psコマンドを実行したユーザーのプロセスすべてを表示
ax
:すべてのユーザーのプロセスを表示
ジョブ:シェルから見た処理の単位
パイプで繋いだ場合、一つのジョブの中にプロセスが2つ以上生成される。
プロセスはシステム全体で一意のプロセスIDを持つが、ジョブはシェルごとにジョブ番号を持つ。複数のターミナルを起動して2つ以上のシェルを同時に使っている場合、ジョブ番号は重複する。
シェルの機能を使うと
ジョブを一時停止 ctl+z
バックグランドで実行 bg %<ジョブ番号>
(ジョブ番号を省略した場合はカレントジョブが対象になる)
現在のjobsコマンド一覧を表示 jobs
(プロセスidを表示する場合 jobs -l
)
jobをフォアグランドにする fg %<ジョブ番号>
(ジョブ番号を省略した場合はカレントジョブが対象になる)
質問2(解決済)
普通のターミナルでは、vim、ターミナル(local、vagrant ssh)の動作しているプロセスやジョブは一つのターミナルから全て見ることができるが、全ての作業を一つの画面で作業することができない。
vimは軽量テキストエディタ(入門者のLinuxより)
vim = エディタ
ターミナルはvsコードで開けない
大体のサーバーにvimやviは最初から入っている。
サーバーに入る世界を当たり前としていると、vimは使いやすい。
vimはポピュラー CUIのエディターで有名なのはvim。emaxと対立している。vsコードと一強。
Linuxが当たり前の世界ではvimは当たり前になる。
良いところ:自動で保存されないのが良い。(読みたいだけを保証してくれる)
文法によって色を変えてくれたりそこそこの可読性を高くできる。プラグインなしでもある程度戦える。
サーバーサイド、インフラに合っている。
vsコードでやるにはsshの理解が必要。出来ることが多い分、問題の切り分けも難しい。エンジニア力が必要。
vimの代わりにtmuxを使う(tmux→vim時の画面分割の参考)
% tmux
❌ボタンで消しても、接続は切れていない。 % tmux a
で戻る(繋げる)。
exitで出てしまうと、sessionsは切れてしまうため、 % tmux a
で戻れない。
% tmux
で開いた後、ctrl+b→cでターミナルを作ってくれる。ctrl+b→nで次の画面、pで前の画面を選べる。
% tmux
はデフォルトでも、どの画面にいるのかわかりやすい。