Linux screen
Linuxのscreenコマンドは、複数の仮想ターミナルを管理するための非常に強力なツールです。
新しいscreenセッションを開始する
screenを起動するには、単にscreenコマンドを実行します。
screen
これで新しいscreenセッションが開始され、通常のシェルのように使用できます。
screenセッションに名前を付けて開始する
セッションに名前を付けると、後で再接続するときに識別しやすくなります
screen -S mysession
ここでmysessionはセッションの名前です。
3. screenの基本操作
セッションをデタッチ(切り離し)する
現在のscreenセッションをバックグラウンドに移動させ、元のターミナルに戻るには、次のキーコンビネーションを使用します。
Ctrl + a, d
この操作で、screenセッションは終了せず、バックグラウンドで動作し続けます。
デタッチしたセッションに再接続する
デタッチしたセッションに戻るには、次のコマンドを使用します。
screen -r
もし複数のセッションが存在する場合は、セッションIDや名前を指定して接続します。
screen -r mysession
実行中のscreenセッションの一覧を表示する
現在実行中のscreenセッションを一覧表示するには、次のコマンドを使用します。
screen -ls
screenのウィンドウ管理
新しいウィンドウを作成する
新しい仮想ターミナル(ウィンドウ)を作成するには、次のキーコンビネーションを使用します。
Ctrl + a, c
ウィンドウ間を移動する
次のウィンドウに移動するには、以下のキーコンビネーションを使用します。
Ctrl + a, n
前のウィンドウに戻るには、次のコマンドを使います。
Ctrl + a, p
特定のウィンドウ番号に移動するには、以下のようにします。
Ctrl + a, [ウィンドウ番号]
ウィンドウを名前で識別する
ウィンドウに名前を付けると、識別しやすくなります。ウィンドウの名前を変更するには、以下の手順を行います。
Ctrl + a, A
screenの終了
ウィンドウを終了する
ウィンドウを終了するには、通常のシェルのようにexitコマンドを使います。
exit
screenセッションを終了する
すべてのウィンドウを終了するか、Ctrl + a, \(Ctrlとaを押してから\を押す)でセッション全体を終了します。
screenセッションのログを取る
セッションのすべての出力をログに記録するには、以下のコマンドを使用します。
Ctrl + a, H
ログは現在のディレクトリにscreenlog.0という名前で保存されます。
screenを使った応用的な操作
ターミナルを分割する
ターミナルを水平に分割するには、以下のコマンドを使います。
Ctrl + a, S
垂直に分割するには、以下のコマンドを使用します。
Ctrl + a, |
次に、分割されたターミナル間を移動するには、以下のコマンドを使います。
Ctrl + a, Tab
screenの便利な使い方
リモートサーバーでの作業
リモートサーバーにログインして長時間の処理を実行する場合、screenを使ってセッションを保持することで、ネットワークが切断されても作業が続行されます。これにより、後で再接続して作業を継続できます。
スクリプトのバックグラウンド実行
長時間実行されるスクリプトやプロセスをscreen内で実行することで、プロセスが終了するまで待たなくても良くなります。
まとめ
screenコマンドを使うことで、仮想ターミナルの作成、管理、セッションの保持、ウィンドウ管理などを効率的に行うことができます。特にリモートでの作業や長時間のプロセス実行において、その効果を最大限に発揮します。最初は基本操作に慣れることが大切ですが、使いこなすことでLinuxでの作業が一層快適になります。
この記事が気に入ったらサポートをしてみませんか?