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なし
![](https://enjoy-pglife.com/wp-content/uploads/2021/05/grads.png)
Ctrl+Dあり
![](https://enjoy-pglife.com/wp-content/uploads/2021/05/grads_1.png)
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を学ぶ上で、おススメの書籍を紹介します。
この書籍は、LPICというLinuxのプロフェッショナルとして認定される資格の教科書になります。
資格の教科書ですが、Linuxを学ぶ上でもってこいの書籍です。自分は、この書籍でLPICを取得しました。
![](https://images-fe.ssl-images-amazon.com/images/I/51kkwZ88wIL._SL160_.jpg)
Linux教科書 LPICレベル1 Version5.0対応