一番左側に「>」が表示されて、そのすぐ右側にカーソルがピカピカと光り、入力待ちになっているのをみたら、初心者が試すべきこと、あるいは、エンジニア・プログラマと呼ばれるヒトたちと仲良くなるために、知っておきたい知識を提供する。
その名前は「プロンプト」
まず、この「>」が出て入力待ちになる状態を、ここでは「プロンプト」と呼ぶこととする。
文化や環境の違いによっていくつかの呼び方はあるので、2018年現在で初心者が遭遇しやすいものから順に紹介していく。
共通知識)プロンプトで打つべきキー
まず最初に、プロンプトを見たらだいたい当たる、打つべきキーを紹介しておく。これらを打っているだけでもかなりプロっぽく見えて、「(コイツ、実はできるのか・・・)」と間違った信頼を獲得することは保証できる。
「TAB」「TAB」「TAB」
この記事全体を通して、打つべきキーは「TAB」キーである。
何かに迷ったらとりあえずTABを打つ、プロンプトをみたら脊髄反射でTABを打つ、ぐらいでちょうどよい。
多くの環境で、「TAB」キーは、「補完機能」に割り当てられている。
補完機能とは、「お前、たぶんこれ打つでしょ?」と入力できる候補を出してくれる、あるいは、それを入力してくれる機能だ。タイピングの間違いを防ぎ、初心者のタイプの遅さを補ってくれるスーパーありがたい機能なので、とりあえず押してみるに越したことはない。
最近の、かな漢字変換ソフトでTABキーが使えるのは、もともとはプロンプトの補完機能からきているのだ。
カーソルキー(上)、Ctrl+p
カーソルキーの上、あるいは、Ctrl+p、を押すと、前に入力したものが現れる。
さらに、左向きにカーソルを動かそうとすると、前に入力したものを編集できるので、初心者にとって最もダメージの大きい
「あー超長いの入れたのに失敗した!」
といったときにとてもとても役に立つ。
同じように使えるのが「カーソルキー(下)、Ctrl+n」である。これはあとに入れたものに戻れる。
「p」はprevious、「n」はnextのことだと思えばよい。これは「Emacs」と呼ばれるソフトのカルチャーでもある。
リターンキー
入力をしたら、とにかく「リターンキー」を押す。
コンピュータを操作してヒトが死ぬことはめったにないし、もし何かが壊れたところで、そんなことで壊れるほうが悪いということがほとんどだ。安心してバンバン「リターンキー」を押してほしい。
すると入力されたものが送信され、なんらかの答えを返してくれる。その答えをみながら操作を重ねていくのがプロンプトの作法・カルチャーなのである。
つまり、プログラマが黒い画面でスゴイスピードでカチャカチャやっていたとしても、実際は少しだけキーをおして、あとはTABを押したらすぐリターンを押しているのではないか、と思って観察してみよう。
ブラウザに付いている開発者向けツールの「Console(コンソール)」
2018年現在、初心者がプロンプトに一番カンタンに巡り会えるのは、ブラウザのディベロッパーツールだろう。
たとえば、Google Chromeでは、「メニュー→その他のツール→ディベロッパーツール、と選択」「右クリックして→検証を選択」「Ctrl+Shit+i」などいろいろな手法で起動できる。
いわゆるモダンブラウザには、類似のものがたいてい付いている(Microsoft Edgeの場合:「開発者ツール」「F12を押す」、Firefoxの場合:「開発ツールを表示」「Ctrl+Shit+i」、など)
起動すると、一番上にメニューが並んでいるがその中から「Console(コンソール)」というところを開くと、「プロンプト」の状態になる。
「開発者向けツールのConsole」でおそろしく重要なことは、ここでは「JavaScript」がそのまま動く、ということである。「JavaScript」開発をするプログラマなのにこのコンソールを使わないなら、すべてを一発でかけてしまう別の宇宙から来た天才だと思ったほうがよい。
ブラウザに付いている開発者向けツールのコンソールでは、以下のコマンドを試しておこう。
window
winぐらいまで入れたら、候補がずらずらと表示されるだろう。最初の候補は「window」だと思うので、即座に「TAB」を打ち、「window」までが入力されたら「リターンキー」を押す。
右向きの三角形のアイコンをクリックすると、windowの下にぶら下がっているデータがずらずらと表示される。意味はわからなくともなんとなく眺めて、私に見えないところでブラウザさんはこんなに働いてくれているのか、と感動しよう。
前述のとおり、ここでは「JavaScript」がそのまま動くので、初心者向けのカンタンなものを試しておこう。
> window.alert(“hello”)
と入れる。成功するとダイアログボックスに「hello」と表示されるはずだ。「OK」ボタンを押さないかぎり何もできないので注意しよう。
document
「document」も、docぐらいまで打ったらTABキーで攻撃しよう。
たいていのページで当たるのは、以下のようなコマンドだ:
> document.getElementsByTagName(“p”)[0].innerText
ここまで読んだ初心者は、全文字打とうなどと決して考えてはいけない。TABを連打しながらエンジニア気分を味わおう。「p」の部分はタグ名を指定できるので、「h1」「h2」なども試してみるとよい。
さらに、
> document.getElementsByTagName(“p”)[0].innerText = “変えてやるぜ”
などと入れると、ページの表示が一部変わったりする。ここまでくると、「DOMの操作をJavaScriptで行った」ことになり、りっぱなプログラマの仲間入りである。
「Windows」を使っているなら「コマンドプロンプト」と「PowerShell」
「Windows」パソコンを使っているなら、次の最短操作でプロンプトに出会える。
Windowキーを押してメニューが開いたままで、「cmd」と入力すると「コマンドプロンプト」が選択できる。そのままリターンキーを押すと、憧れの黒い画面が起動する。
プロンプトなので、文字列の最後に「>」が表示されてピカピカしたまま止まったはずだ。
「コマンドプロンプト」は、「Windows」出現前の「DOS」の時代からの経緯を持つ歴史ある機能だが、「Windows7」からは「PowerShell」というプロンプトも提供されるようになった。
こちらも同じように、Windowキーを押してメニューが開いたままで、「Powersh」ぐらいまで入れてみよう。こちらは青い画面が出て「Windwos PowerShell」が起動する。青い画面は不吉な雰囲気を感じるので個人的にはとても嫌なのだが仕方がない。
「コマンドプロンプト」や「PowerShell」では、以下のコマンドを試しておこう。
「dir」あるいは「ls」
「コマンドプロンプト」では、「dir」、
「PowerShell」では、「dir」も打てるが、さらに、「ls」も試してみよう。
フォルダの中身がずらずらっと表示されたはずである。「dir」はほぼここでしか使えないが、「ls」のほうは応用範囲が広く、他のプロンプトでも使えることがとても多いので、「ls」だけでも覚えておこう。
「ls」を手癖にして、意味もなく「ls」+「リターン」と押すことで、画面が動いてエンジニア気分を味わえる上に、何かを壊してしまうようなリスクがほぼない。ぜひ覚えよう。
Macでは「ターミナル」
Macユーザーなら「ターミナル」を起動しよう。
「LaunchPad」を開いて、「ターミナル」あるいは「terminal」の半分ぐらいまで入れると、「ターミナル」を選択できる。
Macのターミナルは、「UNIX」と呼ばれるこのプロンプト文化を作り出し発展させた祖先の直系と言える。開発者向けには、OSの操作やアプリのインストールなどもここですべて行える。
「ls」
ここでも、「ls」を試しておこう。Windowsとはちょっと違う表示に、UNIX直系の匂いを感じることができるだろう。
ここでは、lsのオプションも試してほしい。たとえば:
ls -al
と入れると表示が変わるはずだ。
「cat」「more」「less」
少しだけプロっぽくなるために、ファイルの中身を表示させてみよう。
「cat」と入れて、スペースを押したら、ここでも「TAB」だ。連打するとなんとなく候補が出る。そこにあるファイル名を、1文字か2文字いれて、またTABを押そう。全部入ったかなと思ったら「リターンキー」だ。
同じ要領で、「cat」のかわりに、「more」や「less」を試してみよう。ページ送りができたり、戻れたりする。
SSHログイン
「SSHログイン」を扱えるようになれば、晴れてインフラエンジニアの仲間入りだ。
そのかわり、初心者が「SSHログイン」できるようになるには、少しハードルがある。数百円の投資を惜しまないなら、AWSのLightsailを試してみよう。
2018年11月現在、AWS(Amazon Web Service)にアカウントをつくってログインすると、「仮想サーバーを使用して構築/Lightsailを利用した場合」という表示が出るので、WordPress」などをてきとーに選び、インスタンスを起動する。
インスタンスの管理画面に「SSHを使用して接続」というボタンがあるので、押してみよう。
ここでも、黒い画面が立ち上がり、MacOSのターミナルと同じように、「UNIX」の直系を引く「Linux」のプロンプト(シェル)が起動する。
同じように、AWSの「EC2」でもSSHログインは必須だ。
AWSでなくとも、レンタルサーバサービスで「SSHログイン」の機能を提供しているところがいくつかある。たとえば「さくらのレンタルサーバ」ではスタンダードプランより上位サービスであればSSHログインが利用できる。レンタルサーバを利用していれば、SSHログインができないかどうか確認しよう。
次のステップ
プロンプトをみても動揺することなく「TAB」や「リターン」を使えるようになったら、次は最新開発環境である「 Jupyter Notebook」で「Python」 を体験しよう。
これは「初心者用」とは言えなくなるので、別の機会に紹介する。
コメント