なかなか楽しいね!
RECRUIT HOLDINGS SUMMER INTERNSHIP 2014 「解読できる学生求む!ターミナルに隠された暗号(#RECRUIT_CODE)」ってサイトで面白いことやってるってのをTwitter眺めたら見つけたので、ちょっと試してみました。
サイトの内容を簡単に言えば、Webブラウザ上に再現されたターミナルを操作して合計6つ(*1)の問題を解くことができればクリア!……って感じ。
……あ、このエントリでは各問題の答えは書かないので、そこは自力でがんばってね(はぁと)
基本的には数学だったりコンピュータの知識が必要な問題なんだけれども、途中でミニゲームっぽいのをプレイできたりもします。
クリアするとエントリー用フォームにアクセスできる(*2)とか、クリアまでのタイムを競うとかいろいろな楽しみ方があるわけですが、かなり凝った作りになっていますね。
出てくる問題はかなりの難問。ボクみたいな学のない人間にはとうてい正攻法じゃ解けない(つ_T)……ってことで、エンジニアっぽい方法で解いてみました。たぶん違法なことはしてないはず。いや、してない。
隠し要素が盛りだくさん!
さて、このターミナルですが、画面上で「help」ってコマンドをタイプしてエンターキーをターン!すると、使用可能なコマンドが一覧で出てきます。
[recruit]:help Recruit Interface System, version 1.9.60-release These command are defined internally. Type `help` to see this list. In addition, secret commands are defined. cat file ... cd dir cp clear date [-u] echo arg env exit factor help kill less file ls [-la] file matrix md5 string mkdir dirname mv printenv pwd rm [-rf] ssh time
これらのコマンドを駆使していろいろがんばるわけですね。コマンドの補完とか矢印キーの上下でタイプしたコマンドの履歴とかもたどれるのですげぇなぁ、と。
まあ、一通り試してみると意外なところに意外なアレがアレしてるかもしれないですよ……。
ちなみに「less」コマンドですが、hjklキーやスペースキー、矢印キーでは動かないみたいです。マウスのスクロールには反応するようなので覚えておくと良いかも。終了は「q」でOK。
あとコマンド実行するやつ以外のcatとかlessとかでは、「cat ./README」みたいに「./」を付けてタイプすると「cat: ./README: Permission denied」みたいに言われてしまうのでご注意を。単純に「./」をなくして「cat README」にすれば大丈夫。
隠しコマンドを探してみよう!
ここから下はちょっとしたネタバレなので、見たくない人は見ないでね!
それはどうでも良いとして、エンジニア的には「In addition, secret commands are defined.」の部分が気になりますね。そう、隠しコマンドがあるらしいんですよ。そうなると、どんなのがあるのか気になりますよねぇ……。
ちょっと個人的に探してみた範囲なので、漏れとかあるかもしれませんが下記のようなコマンドが隠されているようで……。
- dir
- chdir
- kill
- sl
- history
- head
- nlab
- rocketnews24
- gigazine
- gizmode
- recruit
- r25
- xy
- djnobu
- suumo
- akb
- ske
- jkt
- nmb
- nogizaka
- momoclo
- tokyo
- natsumeg
- tamura
- shoda
- like
- fb
- zuckerberg
- swift
- indeed
と、まあ、こんな感じです。いろいろタイプしてみると楽しいと思うので、本編クリア後に遊んでみるといいんじゃないかと。
禁断のコマンドが……
さて、上記はまだアレなんですが、もう1つだけ禁断のコマンドを見つけましたよ。これは興を削ぐのに十分なアレなので、気になる人はお気をつけください。
それは「cheat」というコマンド。
このコマンド、実行しただけじゃだめで、実行後にもうワンアクション必要になります。そのもうワンアクションについては、まあここに書いとくのは止めときましょう( ̄ー ̄)
*1:5つの問題をクリアすると、最終問題が出てくるので合計6つね
*2:実はクリアしなくても進めるって話をどこかで聞いた