Help us understand the problem. What is going on with this article?

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

hnishi
AWS SA Associate/AWS ML Specialty
access
SDNからセンサ、家電、電子書籍まで。ACCESSはあらゆるレイヤのデバイス、サービスを「繋げて」いきます。
http://jp.access-company.com
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした