The UNIX Game - UNIXの奥義を身につけることができるかもしれないパイプクイズゲーム

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20231021 112435

1969年夏、ニュージャージー州のベル研究所でケン・トンプソンとデニス・リッチーによって始められたUnixプロジェクトは、その後のコンピューター業界に大きな影響を与えました。AndroidやLinux、macOSといったモダンなオペレーティングシステムのルーツはUnixにあるのです。

Unixの革新的な機能の一つとして、小さなプログラマーを組み合わせ、さまざまな処理を行うことを可能にした「パイプ」機能があげられます。パイプは、プログラムの出力を直接別のプログラムの入力として送りすることができる機能で、UNIX V3で導入されました。

このパイプ機能を学ぶことができる「The UNIX Game」が公開されています。

OS誕生50周年を記念し、ノキア・ベル研究所のソフトウェア・システム研究室によって作成されました。

以下遊び方を説明します。

目次

The UNIX Gameの遊び方

ブラウザでトップページを開きます。Googleアカウントなどを使ってログインすればプレイデータを維持できますが、匿名でプレイすることもできます。

S 20231021 112542

クイズは「チャレンジ」に分かれており(最も簡単なのは"hello_world")、それぞれに質問がいくつか準備されています。右上で回答を入力し、出力結果を確認して良さそうならば「Submit」をクリックします。

Question 1を解いてみた

「hello world」チャレンジの「question1」の内容は以下の通りです。

各人の姓を抽出し、姓のリストをアルファベット順に並べ替える。

姓を抽出するコマンドはすでに用意しました。行をソートするコマンドは見つかりましたか?

コードに満足したら、「Submit」ボタンを押してソリューションを検証してください。

各行に名前を格納したファイル「input.txt」があり、そこから姓を抽出する部分まではすでにコマンドが準備されています。あとは出力をソートすれば良いだけです。

S 20231021 112808

▲画面を使ってコマンドを組み立てます。「commands」をクリックし「sort」コマンドを配置します。

S 20231021 112856

▲「sort」コマンドを配置したところです。出力部には実際のUnixコマンドと、コマンドの実行結果が表示されます。

unix50:~$ cat input.txt | cut -d ' ' -f 2 | sort

Aho
Bourne
Cherry
Chesson
Condon
Dolotta
Feldman
Fraser
Haight
Johnson
Kernighan
Lesk
Maranzano
McIlroy
McMahon
Morris
Osanna
Plauger
Reiser
Ritchie
Tague
Thompson
Weinberger

良さそうならば「Submit」をクリックします。「Congratulations」と表示されたら正解です。

question2、question3と徐々に難易度があがっていきます。

まとめ

The UNIX GameはUnixのパイプの使い方を学習することができるゲームです。awkをはじめとした各種コマンドや、正規表現など関連した知識も身につけることができます。楽しくUnixを学びたい方におすすめです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次