My Note Pad

エンジニアリングや日々の雑感を書いていきます

よく使うscreenコマンド

Linuxサーバ上で作業するときは、screenを使って作業をしています。

  • 1ウィンドウで複数の仮想端末を使用する事ができる
  • デタッチしても作業状態をそのままにしておける
  • ネットワークが切断しても安心

*以前はtmuxを使っていましたが、色々なしがらみがあり、screenを利用することに。
そこで、コマンドをたまに忘れてしまうので自分用にメモしておきます。

screen外(bash等)から実行するコマンド

screen起動(初回のみ)

# セッションに名前を付けてscreen起動
$ screen -S {セッション名}

# .screenrcを指定してscreen起動
$ screen -S {セッション名} -c {.screenrcのパス}

screenの仮想端末一覧を表示

$ screen -ls

セッションにアタッチ

$ screen -r {セッション名}

screen内(アタッチ後)に実行するコマンド

環境やバージョンに応じてキーバインドが違ったり、使用できないコマンドがあります。

見方

以下のコマンドの場合、controlとaを同時にタイプした後、dをタイプする

[ctrl + a] d

screenからデタッチする

[ctrl + a] d

ウィンドウ一覧を表示する

[ctrl + a] "

新しいウィンドウを作成する

[ctrl + a] c

現在のウィンドウに名前を付ける

[ctrl + a] A

ウィンドウの切替

# 前方のウィンドウに移動
[ctrl + a] p

# 後方のウィンドウに移動
[ctrl + a] n

# 指定ウィンドウ番号に移動
[ctrl + a] [0-9]

# 直前に使っていたウィンドウに移動
[ctrl + a] [ctrl + a]

バックスクロールモード

tailしているログを少しスクロールして確認したい時など

# バックスクロールモードに入る
 [ctrl + a] [
# または
 [ctrl + a] ESC

画面分割

# 水平分割
 [ctrl + a] S

# 垂直分割 ※環境によって使えない事が多い
 [ctrl + a] [tab]

# 現在の分割領域を閉じる
 [ctrl + a] X

# 現在の分割領域以外を閉じる
 [ctrl + a] Q

大体これだけ覚えておけば、なんとかなるんじゃないでしょうか・・!