「本当は怖くない黒い画面」入門(Windows + WSL2編) Part.1

プログラマーがよく使ってる文字が一杯出てる黒い背景のソフト。あれって取っ付き辛くないですか? ![Image from Gyazo](https://i.gyazo.com/90956130d78cab7016dfd37e63b41568.png) 「本当は怖くない黒い画面」入門を書いてみたいと思います。 このシリーズの目的は下記の3つです。 - 「黒い画面」は怖くないことを知ってもらう。 - 「黒い画面」用のフリーソフトが使えるようになる。 - 簡単な「作業の自動化」ができるようになる。 ## とにかく使ってみる 取っ付き辛く見える「黒い画面」ですが、慣れの問題で使っているうちに単なるツールであることが分かると思います。とにかく使ってみましょう。 ※Windows + WSL2の環境がない方は下記を参照してまず環境を用意してください。 [WSL2でLinuxを使おう](https://bootcamp.fjord.jp/articles/6) Windowsでは定番になりつつあるWindows Terminal(別名「黒い画面」)を使いましょう。Microsoft Storeからインストールできます。 ![Image from Gyazo](https://i.gyazo.com/65ccaf8f0d9474deeff48ca57d5c7fdb.png) 味も素っ気も無いウィンドウが開きました。ここに何か文字を打ち込むことでプログラムを実行します。 <aside class="tips"> <h3>ホスト名って何?</h3> <p>ホスト名(host name)はコンピューターの名前です。host(ホスト)は「お客をもてなす人」という意味があります。そこから、ネットワークを形成し、複数の端末からの要求を処理する大型コンピューターをホストコンピューターと昔は呼んでいました。今ではパソコンは全てそういった機能を持っているのでパソコン=ホストと考えて問題ありません。</p> </aside> <aside class="tips"> <h3>$(ドルマーク)これは何?</h3> <p>$までの部分をprompt(プロンプト)と言います。promptは「促すもの」という意味があります。「ここに入力してください!」と促す為のマークです。$自身を含めて自由にカスタマイズ出来るただの目印ですが、空にしてみるとものすごく分かり辛くなるのでpromptのありがたみがよくわかります。</p> </aside> エクスプローラー(Windows10での正式名称は「ファイルエクスプローラー」)などのGUIアプリではプログラムのアイコンをダブルクリックすることで実行しますが、「黒い画面」ではプログラムのファイル名を入力することで実行します。 では「黒い画面」でよく使うLinuxのプログラムを見てみましょう。(どうやってLinuxの中身を見るのかについては下記を参照してください) [WSL2でLinux~Windows間のファイルのやり取り](https://bootcamp.fjord.jp/articles/29) File Explorerのアドレス欄に`\\wsl$\Ubuntu-20.04\usr\bin`と打って移動してください。 Linuxの中の`/usr/bin`を見てみましょう。Windowsのエクスプローラーからは`\\wsl$\Ubuntu-20.04\usr\bin`というアドレスで見れます。 (`Ubuntu-20.04`のところはインストールされているLinuxの名前によって違います。`Debian`を使っている人は`Debian`に読み替えて進めてください。) ![Image from Gyazo](https://i.gyazo.com/eda5be4785f57a90874187937cad2076.png) `\\wsl$\Ubuntu-20.04\usr\bin` のフォルダが開いて中に色々入っているのがわかります。これらは全て黒い画面から使えるプログラムです。 <aside class="tips"> <h3>コマンド?ディレクトリ?</h3> <p>プログラムを「コマンド」と言ったりしますが同じ意味です。またフォルダのことをディレクトリ(directory)と言う場合もあります。ディレクトリは名簿という意味です(元々はディレクトリでしたが、Windows95 から Microsoft が取っ付き易いようにフォルダという名称を使い始めました。)。</p> </aside> ## 最初のプログラム ls まず `ls` というプログラムを使ってみましょう。先程言ったように「黒い画面」ではプログラムのファイル名を打ち込むことで実行します。 ![Image from Gyazo](https://i.gyazo.com/5c0a27a2ecef31f7fbd848fe67166b7c.png) `ls` は `/bin` の中にあるので、正式なファイル名(フルパス)は `/bin/ls` です。 ````bash $ /usr/bin/ls ```` とエンターキーを黒い画面に打ってみましょう。(「黒い画面」に実際に入力するのは$以降の文字です。通常、`$` から始まっているものはそれ以降を黒い画面に打ち込むということを表しています。) ![Image from Gyazo](https://i.gyazo.com/1793b846610e4b72204562053498b55b.png) **デスクトップ**や**お気に入り**など色々出たと思います。`ls` は LiSt の略でファイルやディレクトリの一覧を表示するプログラムです。「黒い画面」はユーザー毎のファイルを置いておくディレクトリ(ホームディレクトリといいます)にいる状態で始まるので、その中にあるファイルやディレクトリが表示されているわけです。 ![Image from Gyazo](https://i.gyazo.com/27f2414707645d0c3c12523c6d55bd89.png) しかしエクスプローラーで自分のホームディレクトリを見たときとちょっと違います。エクスプローラーでは「デスクトップ」とか「お気に入り」というフォルダがあるのに `ls` では見当たりません。これはWindowsがきちんと日本語化されているため、エクスプローラーでは**Desktop**を「デスクトップ」、**Favorites**を「お気に入り」と表示してくれるのです。OS を English の設定にすればエクスプローラーでもDesktop、Favoritesと表示されます。 <aside class="tips"> <h3>bin ディレクトリの bin って何?</h3> <p>bin は binary(バイナリー)の略です。binary には「対になった物」という意味があります。コンピューターのCPUが実際に実行するプログラムの中身は0と1だけになります。そこから、実行できるプログラムのことを binary ファイルと言います。`ls` は binary ファイルです。昔、二手に別れたペンギンの夫婦を操ってゴールを目指すバイナリーランドというファミコンゲームがありましたが、正にそのバイナリーです。</p> <p><img src="http://farm6.static.flickr.com/5122/5254058623_98b07b344d_m.jpg" width="220" height="193" alt="10067636811_s"></p> </aside> ## 2つ目のプログラムpwd `/usr/bin` フォルダに話題を戻して、別のプログラムも使ってみましょう。 `pwd` というプログラムが見えるのでこれを使ってみましょう。 ![Image from Gyazo](https://i.gyazo.com/248a04a57b6b6edccade1ea871af1e80.png) 黒い画面にまた `/bin/pwd` と打ち込んで見て下さい(エンターキーで実行することになります)。 ![Image from Gyazo](https://i.gyazo.com/06c61110e749e72503228ea749707d0f.png) ````sh /mnt/c/Users/komag ```` と表示されました。 `pwd` はPrint Working Directoryの略で現在いるディレクトリのパスを表示してくれます。ワーキングディレクトリとは現在作業してるディレクトリという意味ですね。(Present Working Directory 説も有り) komagのところはそれぞれみなさんのユーザー名になっていると思います。さっき言ったように「黒い画面」では最初はユーザーのホームディレクトリというスタート地点から始まるのでこうなっています。 `/usr/bin` には他にも沢山プログラムが入っていまが、全部の使い方を覚える必要はありません。というか僕も使ったこと無いものが結構あります。Macに入ってるソフトを全部使う必要が無いように、黒い画面でも必要なものだけ使えばいいのです。 Part.01 はこんなところで失礼します。 ## まとめ - 黒い画面を覚えると良い事が沢山ある。 - 黒い画面は「慣れ」。 - 黒い画面ではファイル名を打ち込むことでプログラムを実行する。 - `/usr/bin` にプログラムがいっぱいある。 [「本当は怖くない黒い画面」入門(Windows \+ WSL2編) Part.2](https://bootcamp.fjord.jp/articles/21)へ続く。
©Fjord Inc.2021