ターミナルセッション管理ツール screen
screen
コマンドは、LinuxやUNIX系システムで複数のターミナルセッションを同時に管理できる強力なツールです。リモートサーバー上で長時間実行されるタスクを中断せずに続行させるのに非常に役立ちます。本記事では、screen
コマンドの基本的な使い方を解説します。
screen
コマンドの概要
screen
は、複数の端末セッションを一つの端末上で同時に実行し、セッションをバックグラウンドで維持するためのツールです。例えば、SSH接続でリモートサーバーにログインし、長時間実行されるタスクをバックグラウンドで続行させることができます。
基本的な使い方
セッションの開始
新しい screen
セッションを開始するには、以下のコマンドを使用します。
screen
これで新しいセッションが作成され、通常のシェルプロンプトが表示されます。
名前付きセッションの開始
特定の名前を付けてセッションを開始するには、-S
オプションを使用します。
screen -S my_session
セッションのデタッチ
現在のセッションをデタッチ(バックグラウンドに移動)するには、以下のキーボードショートカットを使用します。
Ctrl + a d
デタッチしたセッションへの再接続
デタッチしたセッションに再接続するには、以下のコマンドを使用します。
screen -r my_session
すべてのデタッチされたセッションのリストを表示するには、以下のコマンドを使用します。
screen -ls
screen
内での操作
新しいウィンドウの作成
新しいウィンドウを作成するには、以下のキーボードショートカットを使用します。
Ctrl + a c
ウィンドウの切り替え
次のウィンドウに切り替えるには、以下のキーボードショートカットを使用します。
Ctrl + a n
前のウィンドウに切り替えるには、以下のキーボードショートカットを使用します。
Ctrl + a p
特定のウィンドウに移動
特定のウィンドウに移動するには、以下のコマンドを使用します。
Ctrl + a [ウィンドウ番号]
セッションの終了
screen
セッションを終了するには、実行中のシェルを終了する(exit
コマンドを実行する)か、以下のキーボードショートカットを使用します。
Ctrl + a k
その他の便利なコマンド
スクロールバック
screen
内でスクロールバックするには、以下のキーボードショートカットを使用します。
Ctrl + a [
これによりコピー・モードに入り、矢印キーを使ってスクロールできます。終了するには Esc
キーを押します。
セッションのロック
セッションをロックするには、以下のコマンドを使用します。
Ctrl + a x
まとめ
screen
コマンドを使えば、リモートサーバー上での作業や長時間実行されるタスクを中断することなく続行できます。
基本的には下記コマンドやショートカットがわかっていれば大丈夫です。
#セッション開始
screen -S my_session
#デタッチ(ショートカット)
Ctrl + a d
#セッションに再接続
screen -r my_session
#セッションリスト表示
screen -ls