UNIXについて
UNIXって何?
UNIXとは1960年代に開発された、OS(オペレーションシステム)の一つです。日々新しいものが開発されるこの時代に、長い歴史をもちながら生き続けるUNIXについて紹介します。
代表的なOSとしてWindowsやMac OS、スマホでいうAndroidやiOSがあります。Net Apppcationsが発表しているデスクトップパソコンOSシェア率では、およそ9割がWindowsとMac OSの2つで占められています。そして残りの1割の多くが、このUNIX(UNIX系)OSです。
ざっくりしたイメージでいうとUNIXとは、「ほとんどの人が使っていない(使えない)、パソコンが詳しい人向けのOS」です。
なぜ詳しい人しか使えないのか?という疑問に関しては後々説明します。扱い方が難しいOSではありますが、高度な計算機やネットワーク・サーバー、カーナビや携帯電話にもUNIXが多く使われており、Mac OSをはじめUNIXをベースとしているOSは多く存在します。
UNIXの歴史
UNIXは1960年代にアメリカのベル研究所で、ケン・トンプソン(Ken Tonpson)のもと開発されました。当時Multicsという、とても素晴らしい反面重たすぎるOSが開発されていました。そんなときに非常にコンパクトで軽く機能も少なくて使い易いOS、UNIXが開発されました。オープンソース(無償公開)ということもあり、UNIXは爆発的な人気を呼びました。
しかしここで、無料で手に入るUNIXをアレンジしてビジネス化する人々が現れました。先述したように現代ではUNIX系と多くのOSをまとめて呼ぶことができます。その所以はビジネス化に進んだUNIXや、そうでない道を進んだUNIXなど、様々な形で分岐して派生していったことにあります。
主な特徴
・OS の安定性が高い
古くからサーバ分野では普及していたため積み重ねた実績があります。
・コマンドを組み合わせる事によって、複雑な操作ができる。
ファイル操作のコマンドをはじめサーバー用のコマンド、中にはPCの機能を停止させてしまうコマンドまであります。
・自由度が高い
多くのプログラムがあり、自由にカスタマイズすることができます。
・ネットワークに強い
インターネットなどのサーバーとしてよく使われています。
・アプリケーションの種類は少ない
WindowsやMac OSと比べて数は少なく、UNIX用アプリケーションの操作にも慣れるのが大変そうです。
・ユーザーがコンピュータのことある程度知っているという前提に立っている
コマンドを知らない状態で操作することは、ほぼ不可能といえます。
操作方法
先程「UNIXはパソコンに詳しい人向け」とざっくりしたイメージを紹介しましたが、理由はその操作方法にあります。一般的にパソコンというとアイコンが並んでおり、画面を見ながらマウスを動かして操作します。これはGUI(グラフィカル・ユーザ・インターフェース)という画面の操作方法です。UNIXはもう一つの操作方法CUIで操作します。
〜CUIは手作り料理〜
ここでもざっくりとしたイメージで説明します。CUI(コマンド・ユーザーインターフェース)は、コマンド(命令)をキーボードから打ち込むことで操作します。したがって何かを料理(操作)しようとする時、パソコンに直接味付けや加工、変更を行うのです。真っ黒(もしくは真っ白)な画面にアルファベットや記号などを打ち込んでパソコンに命令していきます。
直接料理する分できることは様々で、自由度がとても高くなります。しかしその反面、スパイスの香りや塩加減など、ある程度の知識がないと操作することはできません。操作をするには予めコマンドや、その意味を知っておく必要があるのです。冒頭の「パソコンが詳しい人向け」の理由がおわかりいただけたでしょうか。
UNIXコマンド
シェルスクリプトの基本的なUNIXコマンドを紹介します。
・pwd
現在どのディレクトリ(フォルダ)にいるのかを表示するコマンド。大きい所からディレクトリまでの道筋を表示します。
(例)/Tokyo/Toshimaku/Ikebukuro
・cd
作業しているディレクトリを変更するコマンド。上の階や下の階、いきなり最上階にも行くこともできます。
・ls
ディレクトリの中にあるファイルを一覧表示するコマンド。GUIでは見られない隠しファイルなども見つけることができます。(ls -a)
・cp
ファイルをコピーするコマンド。
・mv
ファイルのフォルダを移動させたり、名前を変更したりするコマンド。
・rm
ファイルを削除するコマンド。
・mkdir
ディレクトリを作成するコマンド。
・touch
ファイルを作成するコマンド。
上記で解説したものは基本的なコマンドですが、現在UNIXのコマンド数は500個以上もあります。次に、面白いと思ったコマンドを3つ紹介します。
・say 〜
〜の部分に言葉を入れるとカタコトで打ち込んだ内容を話してくれるコマンド。
say -v (名前) 〜
( )内には人名が入れられます。(say -v ?)と打ち込むことで名前の一覧が表示されます。私のパソコンでは48人の様々な国の人々が現れました。英語も日本語もすべてカタコトで何かいたずらに使えそうな機能です。
・cal
カレンダーを表示してくれるコマンド。壁掛けカレンダーのように曜日と日付がひと目で分かるように表示。※当日の日付は色が変わります。
・banner 〜
〜に文字を打ち込むと大きくAA(アスキーアート)文字を表示してくれるコマンド。使い所があまり見当たりませんが面白いコマンド。
最後に
UNIXの特徴やイメージについて少しでも掴めていただけたでしょうか。日々目まぐるしく変化していく中でずっと存在しつづけるUNIXには、GUIにないシンプルさと自由さがあります。
最後に、UNIXについて興味を持ち私はある一冊の本を見つけました。以下は一部内容を引用したものです。
ーかつて斬新だと思われていた概念が、今日の常識になっている例は多い。例えば、インクがそうだ。昔は鳥の羽根とインクを使い、羊皮紙に字を書いていた。やがて万年筆が鳥の羽根に取って代わる。さらに近年になると、日常のあらゆる場面でボールペンが標準的な筆記用具として使われるようになった。(中略)筆記用具はいろいろに変わっても、液体媒体を使って紙に考えを書き留めるというアイデアは現在に生き残っている。紙がある限りインクもあり続けるだろう。ー■2001年 オーム社出版 Mike Gancarz 『UNIXという考え方』42pより引用)
数ヶ月まではUNIXという言葉さえ知らなかった私には、技術的な内容や定義をすべて理解できたわけではありません。しかし、50年以上たった今でも私のパソコンの中にあるということに納得させられました。これから少なからずプログラムに携わる人間として、一つの考え方を学ぶきっかけとなりました。