はじめに
LinuCレベル1の勉強をしていてよく出てくるショートカットキー、
Ctrl+C / Ctrl+D / Ctrl+Z。
最初は「どれも止める系じゃないの?」とごちゃごちゃして混乱しました。
そこで、自分なりのイメージや語呂合わせで整理してみました。
よくある問題例
パターン1
現在、sshでリモートホスト「server」にログインしている。ログアウトするにはどのキー操作を行えばよいか。
-
A. Ctrl+Alt(CtrlとAltの同時押し)
-
B. Ctrl+X(CtrlとXの同時押し)
-
C. Deleteの長押し
-
D. Ctrl+D(CtrlとDの同時押し)
-
E. Ctrl+C(CtrlとCの同時押し)
答え:D. Ctrl+D
パターン2
ターミナルで sleep 100
を実行中に、処理を一時的に止めてバックグラウンドに回したい。正しいキー操作はどれか。
-
A. Ctrl+C
-
B. Ctrl+Z
-
C. Ctrl+D
-
D. Shift+Z
-
E. Ctrl+Enter
答え:B. Ctrl+Z
こういう問題ってほんとよく出ますよね。
「どれがどれやねん!」とか「このときはどっちやったっけ?」って混乱しがち。
👉 そこで一度、Ctrl+C / Ctrl+D / Ctrl+Z の違いを整理してみましょう。
自分なりのイメージ(CancelのC、zzzで寝る、Doneで終了)をつけておくと、問題を解くときにもスッと頭に入ります。
Ctrl+C / Ctrl+D / Ctrl+Z の違い
-
Ctrl+C
→ 実行中のプロセスを 強制終了
→ 「Cancel の C」で覚える
→ とりあえず止めたいときに押す -
Ctrl+Z
→ 実行中のプロセスを 一時停止してバックグラウンドへ
→ 「zzz…寝るイメージ」で覚える
→ 終わってはいないのでfg
やkill
が必要 -
Ctrl+D
→ 入力終了(EOF) を送る
→ 「Done の D」で覚える
→ シェルを閉じたり、cat
の入力を終えるときに使う
自分流の覚え方
-
C = Cancel → キャンセルで強制終了
-
Z = zzz → プロセスが寝る(停止)
-
D = Done → 入力おしまい
まとめ
Linuxを触り始めた頃は Ctrl+C / D / Z の違いがすごくややこしかったけど、
実際に手を動かして確認したり、問題を解きながら「Cancel / zzz / Done」と整理するとスッと理解できました。
これはあくまでも「自分の学習の軌跡」ですが、同じように迷っている人の参考になれば嬉しいです。
コメント