Linuxコマンドの学習は、特にコマンドラインに慣れていない場合は、最初は複雑に思えるかもしれません。しかし、次のような最も一般的な基本コマンドを学習できるように特別に設計されたインタラクティブゲームなど、学習をより簡単かつ楽しくする革新的な方法があります。 ls, cd, mkdir, rm 長いリストを読んだり、退屈な説明を見たりする代わりに、このゲームを使ってコマンドを実際に試し、それぞれの効果をすぐに確認できます。このような実践的なトレーニングは、学習を加速させ、Linuxコマンドを日常的なスキルの一部にするのに役立ちます。

私はゲーム化された学習の大ファンです。それがきっかけで、Linuxで人気の教育ゲーム「OverTheWire」を試してみることにしました。最初はちょっとした好奇心から始めたのですが、それがいつの間にか、夢中になれるパズルを解いたり、ターミナルマジックを体験したり、そして何かに気づいた時にだけ得られる「なるほど!」という瞬間に、何時間も夢中になりました。
なぜ私はOverTheWireをこんなにも愛しているのでしょうか?

オーバーザワイヤー これは戦争ゲームのコレクションです。戦争ゲームは基本的にCTF形式のチャレンジで、特定のタスクを完了すると、そのレベルをクリアしたことを証明する特別なトークンを獲得できます。私が主に取り上げるOverTheWire Banditの場合、次のレベルに進むには秘密のパスワードを探して見つけ出す必要があります。
これまで多くのLinux学習ゲームを試してきましたが、OverTheWireは、その環境設定と、リアルなシナリオベースの課題を通して知識を鍛え上げる点において、真に際立っています。実際のLinuxシステムへと移動し、探索することができます。Linux初心者でも中級者でも、このゲームには誰もが楽しめる要素が詰まっています。
各レベルは難易度が徐々に上がっていくように設計されています。特に気に入っているのは、特定のレベルでは前のレベルで使ったコマンドやテクニックが求められる場合があることです。これにより、学んだ内容をより長く記憶し、定着させることができます。
OverTheWireで一番気に入っているのは、受講者を有能な学習者として扱ってくれることです。コマンドやテクニックを暗記するロボットにしてしまうのではなく、未知の分野で調査、問題解決、思考できる人材へと成長させてくれます。これらは、周辺的な境界を越え、テクノロジーの世界のあらゆる場所に潜むスキルです。
Linux で最も重要なスキルを教えます。

OverTheWire がどんなチュートリアルや YouTube ビデオよりも優れている点が 1 つあるとすれば、それは自分自身で物事を理解する方法を学ぶことです。
Banditをプレイする際、ゲームはプレイヤーを導いてくれません。目標を設定すると、役立つかもしれないコマンドのヒントが1つか2つ表示される程度です。それだけです。レベル内に説明は一切なく、xyzコマンドの仕組みを説明するヒントもなければ、正確な計算式を示すポップアップウィンドウも表示されません。自分で調べなければなりません。何度も試して失敗し、アプローチを調整して、また挑戦しなければなりません。そして、まさにそれこそが、このゲームの醍醐味なのです。
私にとって、これがLinuxの核となるスキルです。自分が何かを知らないことを受け入れ、調査やマニュアルの閲覧、そして実験を通してそれを発見する能力です。このスキルこそが、Stack Overflowのコマンドをただ真似するだけの人と、実際に何をしているのかを理解している人を分けるものです。
Linux コマンド以外のことも学べます。
OverTheWireはLinuxコマンドに限定されません。Banditは技術的にはLinuxコマンドに対応していますが、最終的には文法以上のものを学ぶことができます。
例えば、ファイルのパーミッション、ネットワークプロトコル、インターネット技術、テキストエンコーディングなどについて学びます。16進文字列をデコードしたり、奇妙なバイナリファイルの中身を調べたり、よくわからないポートに接続したり、Linuxファイルシステムの構造をより深く理解したりする必要がありました。
Banditをクリアすると、OverTheWireでさらに奥深く探索できます。Leviathanは権限昇格を深く掘り下げ、「Narnia」はメモリエクスプロイトとバッファオーバーフローを深く掘り下げ、「Krypton」は暗号の基礎に焦点を当て、「Maze」はリバースエンジニアリングとエクスプロイトの課題を扱います。それぞれのウォーゲームは、セキュリティ、プログラミング、その他のコンピュータサイエンスの概念の異なる側面に基づいています。
学んだコマンド
OverTheWireで初めてこれらのコマンドを見たわけではありませんが、特定の用途で使う必要があったのは久しぶりでした。コマンドの中には一部は部分的に忘れていたものもあれば、コピー&ペーストで組み合わせて使っていたものもあり、何が起こっているのかよく分かっていませんでした。Banditをプレイすることで、それぞれのコマンドの機能をじっくりと学び、より賢く正確に使う方法を学ぶことができました。ここでは、特に印象に残った6つのコマンドを紹介します。
SSH
SSHはSecure Shellの略です。特にインターネット経由で、ある端末から別の端末にリモート接続するための標準的な方法です。コマンドラインセッションを安全に暗号化して別のコンピュータに転送するのと同じような機能で、転送中にデータやパスワードが漏洩することはありません。sshコマンドの最もシンプルな構文は次のとおりです。
ssh ユーザー名@ホスト名
OverTheWire Banditで最初に使うコマンドはsshです。実際、ゲームをプレイするにはサーバーに接続する必要があるため、最初からsshを使う必要があります。慣れるまでは、どのレベルでもsshを使う必要があります。使い方は以下のとおりです。
ssh [メール保護] -p 2220




