563
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

Linux screenコマンド使い方

かなり基本的な操作について
screenを使ったことがない人は、たぶん<ctrl> + <a>という操作に慣れないと思う。慣れればなんてことはないだろうけど。

3つの目的別に説明。
(1)スクリーンでセッションを保存
(2)スクリーンで画面分割
(3)スクリーンでマウスを使わずにコピー&ペースト(画面のスクロール)

(1)スクリーンでセッションを保存

作業している状態を保存する。マシンの電源が切れない限り保持される。
たとえば、普通にログインしてジョブを流していると、いつの間にかsshの接続等が切れてjobが止まってしまうときがある。screenで生成したセッション内で計算を投入し、セッションからデタッチ(一時的に離れる)しておくことで、途中で計算プログラムが止まることがなくなる。

新しいセッションを作る

screen

セッションを一時的に離れる(デタッチ)

<ctrl> + <a> 

d

一旦、コントロールとaを同時に押してから、dを入力する。

screenの状態を確認する (セッションの一覧表示)

screen -ls

アタッチする

screen -r

複数のセッションがある場合は、 screen -ls で調べたIDを指定してセッションに戻る。

セッションに名前を付ける

screen -S hogehoge

として新規スクリーンを作ると、screen -r hogehogeでアタッチできる。

小技
以下のように,IDの先頭が重複しないように名前を付けておくと,先頭の(数)文字を指定するだけでアタッチできるので,管理しやすい。

[hnishi@centos ~]$ screen -ls
There are screens on:
        2947.a_bsc      (Detached)
        17657.b_test1   (Detached)
        17897.c_test2   (Detached)
3 Sockets in /var/run/uscreens/S-k007200.

[hnishi@centos ~]$ screen -r b

既にアタッチされているスクリーンに強制的に入る

screen -rx ID

(2)スクリーンで画面分割

どんなターミナルでもscreenが入っていれば画面分割して作業できる。

水平方向に画面を分割

<ctrl> + <a> 

S

コントロールキー+aを同時に押した後で、大文字のSを入力する。

分割された画面の移動

<ctrl> + <a> 

<tab>

新しいウィンドウを作る

分割された画面にできた、何もないディスプレイに移動して以下を実行する。

<ctrl> + <a> 

c

垂直方向に画面を分割

<ctrl> + <a> 

|

分割したスクリーンを消して、元に戻す

<ctrl> + <a> 

X

(3)スクリーンでマウスを使わずにコピー&ペースト

コマンドライン操作に慣れてくると、マウスを使うことが億劫になってくる。
スクリーンを使えば、キーボードだけでターミナル上の文字列をコピペできる。

コピーモードに入る(画面のスクロール)

<ctrl> + <a> 

[

コピーモードに入ると、カーソルが矢印キーで自由に動かせるようになる。
PageUpとPageDownキーも画面を大きく動くときに利用できる。

コピーしたい始点でSpaceキーを押して、終点でもう一度SpaceキーもしくはEnterで、バッファーに一時保存できる。

なお、コピーモードではスクロールが自由。通常のスクリーンのセッションではマウスのホイールキーを使って端末の出力をさかのぼって見ることができないが、コピーモードを使って画面をスクロールするという使い方もできる。

ペースト

<ctrl> + <a> 

]

スクリーンを起動していれば、どんな状態のときもコピーモードに移行とペーストが利用できる。

参考

ほかにもいろいろなscreenコマンドがある。
http://aperiodic.net/screen/quick_reference

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
563
Help us understand the problem. What are the problem?