前回までで、Cygwinとパッケージのインストールまでを紹介した。多少、わかりにくい部分もあるかもしれないが、ここまでは解説の通りに作業を進めてほしい。今回からは、実際にCygwinを使っていきたい。

前回、前々回の記事はこちら
・ゼロからはじめる「Cygwin」 第2回目 コマンドプロンプトでUNIXコマンドを使う編 http://news.mynavi.jp/articles/2013/11/25/zerokaracygwin/
・ゼロからはじめる「Cygwin」 第1回目 WindowsでUNIXを動かしてみよう! http://news.mynavi.jp/articles/2013/08/06/cygwin/

GUIではない世界--CUI

Windowsのみならず、携帯電話のOSであるAndroidなどもそうであるが、アイコンなどを表示し、マウスや指で操作するGUI(Grafical User Interface)が一般的である。それとまったく対象的なものが、CUI(Character User Interface)である。キーボードを使って、コマンドなどを入力する。コンピュータも実行結果を文字で出力する。

GUIと比較すると、以下のような欠点がある。

  • 基本的なコマンドを覚える必要がある
  • 画像やマルチメディアコンテンツの再生・操作は場合によって難しい

コンピュータリソースが乏しい時代に作られたものであることも大きい。初期のコンピュータには、今のようなディスプレイは存在せず、タイプライタ端末なども使われていた。一方、先行入力が可能であったり、処理の自動化、通信の負荷が少なくてすむといった利点も存在する。

では、最初の覚えておきたいコマンドを例に、Cygwinを使いながら進めてみよう。Cygwinを起動し、プロンプトに「ls」と入力する。インストールした状態だと、図1のように何も表示されない。

図1 lsと入力

lsコマンドのlsは、List Segmentsの略で、そこにあるファイルの一覧を表示するコマンドである。では、図1の状態では、1つもファイルが存在しないのであろうか。答えは、NOである。しかし、その前にコマンドの入力方法について説明しよう。図1では、「ls」とコマンドだけを入力した。一般的にコマンドには、オプションと引数が存在する。それを、マニュアルなどでは、

  コマンド [オプション] [引数]

と書くことが多い。コマンドの後に1文字以上を空けてオプション、さらに1文字以上 空けて引数を続ける。[ ]の意味は、なくてもよいというものを表す。つまり、lsコマンドはオプションや引数がなくても、よいということである。図1のままでは少しつまらないので、ホームディレクトリ(ログイン時にユーザーがおかれるディレクトリ、すべての作業はここからスタートする)に、ファイルをいくつかコピーした状態で始めてみる(この作業はWindows上で、Cygwin\home\ユーザー名のフォルダにコピーする)。 こうしてlsコマンドを実行すると、図2のようになる。

図2 ファイルをコピーしてlsを実行

今度はファイル名などが表示される。さて、ここで、オプションを使ってみよう。lsに続けて「-l」と入力する(図3)。

図3 ls -l

今度はファイルサイズや日付なども表示されるようになる(?は、ユーザーやグループだが、Windowsでコピーしたので設定されていない)。これがオプションによる動作の違いである。さらに、引数を使ってみよう。ls -lのあとにさらに「text」を追加する(図4)。

図4 引数を追加

実は、図3で先頭に「d」が付いているものはディレクトリであった。ここでは、その中身を表示している。コマンドによっては、オプションを複数持つものがある。それらを複数組みわせてもよい。

図5 複数のオプション

aは、普段見えない隠しファイルも表示するオプションである(先頭が「.」で始まるファイルはドットファイルと呼ばれ、普通には表示されない)。オプションを複数指定する場合、順番は関係ない(ls -laとしても同じ結果となる。一方、引数はコマンドによって意味を持つことがある)。また、どんなオプションや引数があるかを調べるには、--helpオプションを指定する。

図6 --helpオプション

長かったので一画面に収まらなかった。ここでは、とりあえず右のスライドバーで最初の方を確認してほしい。また、英語になってしまうが、manコマンドでマニュアルを表示させることもできる。

図7 manコマンド

リターンキー(1行単位)やスペースキー(1画面単位)で、表示内容をスクロールさせることができる。