Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

GNU screenの使用方法

 

こんにちは、鯨井貴博@opensourcetechです。

 

 

今回は、GNU screenの使い方をまとめてみようと思います。

 

screenとは、一つの端末の中で以下のように複数の仮想端末(ウィンドウと呼ばれる)を操作や表示などが出来るツールとなります。

f:id:opensourcetech:20150304140920p:plain

 

なお、土台となるOSとしては、CentOS6.6(64ビット)を使用しています。

cat /etc/redhat-release

uname -r

f:id:opensourcetech:20150304140121p:plain

 

まずは、yumでscreenをインストールします。

yum install screen

f:id:opensourcetech:20150304140459p:plain

 

そして、screenの起動には、

ただ「screen」と入力すれば一つのセッションが開始されます。

screen

f:id:opensourcetech:20150304140631p:plain

以下が起動後の表示ですが、見た目上は全く違いは分かりません。

f:id:opensourcetech:20150304141150p:plain

 

キーボードの「Ctrl+a」の後「d」を押すと、

操作していたセッションからデタッチ(切断)を行います。

f:id:opensourcetech:20150304141233p:plain

 

「screen -ls」や「screen -list」を実行すると、

現在のセッション一覧を表示してくれます。

f:id:opensourcetech:20150304141701p:plain

 

再接続(reattach)したセッションがある場合、

「screen -r 5525」や「screen -r 5525.pts-0.MinimalLinux」などで

再接続が出来ます。

f:id:opensourcetech:20150304141805p:plain

 

セッションに接続された状態で、

「ctrl+a」の後に「,(カンマ)」を実行すると、

screenのライセンスが表示されます。

f:id:opensourcetech:20150304141941p:plain

 

セッションに接続された状態で、

「ctrl+a」の後に「K(大文字のk)」を実行すると、

操作しているウィンドウを閉じる(kill)する事が出来ます。

f:id:opensourcetech:20150304142117p:plain

 

kill後、screen -lsとすると、

セッションがなくなっている事が確認出来ました。

f:id:opensourcetech:20150304142226p:plain

 

なお、「pstree -p」でプロセスを確認してみると、

親プロセスの下にセッションのプロセスがいることが分かります。

f:id:opensourcetech:20150304142308p:plain

 

セッションに接続された状態で、

「ctrl+a」の後に「S(大文字のs)」を実行すると、

使用している画面を分割(split)する事が出来ます。

f:id:opensourcetech:20150304142424p:plain

この分割を行うと、以下のように上下で別々のコマンドを同時に実施する事が可能となります。

分割された画面間の移動は、「ctrl+a」の後に「tab(タブキー)」、

新規でコマンド操作を開始するには、「ctrl+a」の後に「c(小文字のc)」で出来ます。

f:id:opensourcetech:20150304142544p:plain

操作している一つのウィンドウ以外を表示させないようにしたい場合は、

「ctrl+a」の後に「Q(大文字のq)」を実行します。

f:id:opensourcetech:20150304142820p:plain

また、「ctrl+a」の後に「ctrl+n」で次(Next)ウィンドウへの移動、

「ctrl+a」の後に「ctrl+p」で前(Prev)ウィンドウへの移動も出来ます。

 

 

何かしらの理由で「Dead」状態になってしまったセッションがある場合は、「screen -wipe」で「Remove」する事が出来ます。

※「screen -wipe 5590」のようにセッション番号指定も可能。

f:id:opensourcetech:20150304143139p:plain

f:id:opensourcetech:20150304143144p:plain

 

 

使用するセッションに名前を付けたい場合は、

「screen -t top(ここではtopが名前)」とすれば名前の付いたセッションを生成する事が出来ます。

f:id:opensourcetech:20150304143147p:plain

 

また、screenではテキストのコピー&ペーストも可能で、

「ctrl+a」・「[」の後でコピー開始位置と終了位置をカーソルで選択して「エンターキー」、「ctrl+a」・「]」でペーストが出来ます。

f:id:opensourcetech:20150304143418p:plain

f:id:opensourcetech:20150304143424p:plain

 

また、「ctrl+a」・「?」でヘルプの表示が出来ます。

f:id:opensourcetech:20150304143445p:plain

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai