Ubuntu:Ctrl+Dでできること

Ubuntu(UNIX)のターミナルで対話式に起動したツールを終了する際、ターミナルの場合exit、対話式に起動したツールは、種類によって、それぞれqだったり、quit()だったりとまちまちです。

あれ、どうやって終了するんだっけと時々思ってしまうことがありました。

実際は、qなりquitをして違う場合、ツールが教えてくれるのがほとんどですが、そのやりとりも退屈です。

Ctrl+D(UNIX)

UNIXでは、Ctrl+Dは、入力の終わりを示します。

因みに、確認ですがCtrl + Dは、controlキーとDキーの同時押しです。

ターミナルで入力すると、ターミナルを終了(ログアウト)させ、対話式に起動しているツールで入力するとツールを終了させることができ便利です。

実行例

例:Pythonインタープリターの場合

Ctrl+Dなし

$ python
Python 3.8.5(default, Sep 4 2020, 07:30:14)
[GCC 7.3.0]::Anaconda, Inc. on linux
Type "help","copyright","credits" or "license" for more information.
>>>quit()
$

Ctrl+Dあり

$ python
Python 3.8.5(default, Sep 4 2020, 07:30:14)
[GCC 7.3.0]::Anaconda, Inc. on linux
Type "help","copyright","credits" or "license" for more information.
>>>    
$

Pythonのインタープリターでは、終了する際、quit()と実行する必要がありますが、Ctrl+Dでも終了することができました。

例:GrADSの場合(気象・海洋で使われる描画ツール)

Ctrl+Dなし

Ctrl+Dあり

GrADSでは、終了する際、quit()と実行する必要がありますが、Ctrl+Dでも終了することができました。

Ctrl+Dでログアウトさせない

Ctrl+Dは、上述のとおりとても便利ですが、誤って作業中にターミナルを終了(ログアウト)してしまうことがあります。

そうしたことを防ぐために、Ctrl+Dで、ログアウトさせない方法があります。

$ set -o ignoreeof

このコマンドを打った後、Ctrl+Dを打つと…

Use "logout" to leave the shell.

ログアウトされなくなりました。

これで、exitコマンドのみしかログアウト出来なくなりました。

因みに元に戻すには、

$ set +o ignoreeof

になります。

まとめ

Ubuntuで、ターミナル、ツールを終了したい場合、Ctrl+Dが便利です。

ターミナルをCtrl+Dで終了させない(ログアウトさせない)場合は、以下のコマンドを打つこと。

$ set -o ignoreeof

おススメ書籍

Linuxを学ぶ上で、おススメの書籍を紹介します。

Linux教科書 LPICレベル1 Version5.0対応

この書籍は、LPICというLinuxのプロフェッショナルとして認定される資格の教科書になります。

資格の教科書ですが、Linuxを学ぶ上でもってこいの書籍です。自分は、この書籍でLPICを取得しました。


Linux教科書 LPICレベル1 Version5.0対応
新しいLinuxの教科書

初めてLinuxを触る人でも分かりやすく表現されており、読みやすいです。


新しいLinuxの教科書