Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
505
Help us understand the problem. What is going on with this article?
@hnishi

Linux screenコマンド使い方

More than 1 year has passed since last update.

かなり基本的な操作について
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

505
Help us understand the problem. What is going on with this article?
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
hnishi
A software engineer
access
SDNからセンサ、家電、電子書籍まで。ACCESSはあらゆるレイヤのデバイス、サービスを「繋げて」いきます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
505
Help us understand the problem. What is going on with this article?